Přečtení programu z kazety v moderním PC

Software potřebné k práci s elektronikou

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
judeware
Příspěvky: 1085
Registrován: 04 srp 2009, 02:00
Bydliště: okres Písek

#61 Příspěvek od judeware »

To vypadá na nějakou specialitu toho íkvéčka.

10 LET A(1)=5:LET A(2)=12
20 LET A(3)=0
30 PRINT A(1)+A(2)+A(3)
40 LET A(9)=A(1)+A(2)


Říkají tím, že DIM na začátku programu nemusí být uvedeno a ono to nehavaruje. Ale např. u Sharpa si tohoto nejsem vědom (dovolené absence DIM).
Naposledy upravil(a) judeware dne 19 črc 2023, 23:10, celkem upraveno 1 x.

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#62 Příspěvek od asdf »

Tak jsem si stáhnul emulátor IQ151 a potvrzuji, že s

Kód: Vybrat vše

10 IFA<BTHENGOTO10
si poradí.
Takže to asi bude z IQčka.

Uživatelský avatar
rnbw
Příspěvky: 32312
Registrován: 21 bře 2006, 01:00
Bydliště: Bratislava

#63 Příspěvek od rnbw »

Kazdy BASIC je iny, v tom je ten vtip.
Napriklad Sinclair BASIC umoznuje nazvy ciselnych premennych lubovolnej dlzky (dokonca s medzerami), ale retazcove premenne mozu mat len jednopismenovy nazov (s dolarom na konci).

Uživatelský avatar
Crifodo
Příspěvky: 14471
Registrován: 11 říj 2005, 02:00

#64 Příspěvek od Crifodo »

judeware píše: Sharp mohl mít názvy i delší (bez toho, aby se ohlásila "SYNTAX ERROR"), ale jen první dva znaky byly platné. Takže např. VO je totéž, co VOCAS a TE je totéž, co TERMIT. :D
tak to je vtipná zákeřnost, třeba kdybys přepisoval program z jinýho basicu a pak se dlouho divil, proč se proměnná VOCAS1 neliší od VOCAS2.

Uživatelský avatar
PotPalo
Příspěvky: 4565
Registrován: 13 kvě 2009, 02:00
Bydliště: BA-Petržalka :(
Kontaktovat uživatele:

#65 Příspěvek od PotPalo »

Zákerností je všade dosť, hlavne pokiaľ to ani v príručke užívateľa nieje správne vysvetlené.
Napríklad príručka strojového kódu pre ZX Spectrum:
register R, sa sám mení, teda zvyšuje, počíta inštrukcie. Ale nieje už spomenuté, že najvyšší bit sa nemení a ostáva taký, aký ho nastavíme. Čo som sa s tým natrápil...
Ďalej stlačenie RESET. Jediné čo robí je, že sa vypne prerušenie a program skočí na adresu 0. Žiadne registre sa pri ňom ale nemažú na nulu, ako by sa mohlo zdať. Takže BASICom nepoužívané registre ho prežijú.
Zlu sa neustupuje, proti zlu sa bojuje.

Uživatelský avatar
Habesan
Příspěvky: 6924
Registrován: 12 led 2009, 01:00
Bydliště: Plzeňsko
Kontaktovat uživatele:

#66 Příspěvek od Habesan »

Verzi pro ZX Spectrum (tedy originál) je možno stáhnout na této stránce:
visiongame.cz /obchodnik/
Možná to pomůže při zkoumání této verze.
(Jeden z nejpoužívanějších řetězců jsou tam tři nuly ve finančních částkách.)

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#67 Příspěvek od asdf »

Tak tady jsou přečtené a rozstříhané obě kazety.
Přílohy
data.zip
(46.54 KiB) Staženo 36 x

Uživatelský avatar
TeslaPC
Příspěvky: 226
Registrován: 08 srp 2022, 02:00
Bydliště: Praha
Kontaktovat uživatele:

#68 Příspěvek od TeslaPC »

Super, díky moc všem za pomoc, netušil jsem že to bude takový oříšek. Stáhnul jsem si emulátor, a jdu to tam zkusit načítat a jsem zvědav co na tom bude.

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#69 Příspěvek od asdf »

TeslaPC píše:Stáhnul jsem si emulátor, a jdu to tam zkusit načítat a jsem zvědav co na tom bude.
Ten soubor je sice binární, ale většinou je to text a dokonce i oddělovače řádek jsou jako ve Windows. Takže na to můžeš koukat normálně textovým editorem.

Akorát s tím emulátorem bude ještě trošku problém. On neumí načíst textový soubor. Umí jen wav a nějakej cws, což je taky asi něco jako wav. Ten původní wav to ale nenačte, to už jsem zkoušel. Takže jediné, co mě napadá, že bych napsal program, který to z toho textového souboru zase převede do wav, ale už čistého, který to bude umět načíst.

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#70 Příspěvek od asdf »

Tak do toho csw pro emulátor se to dá převést pomocí: https://github.com/omikron88/iq-151/tre ... t2Csw/dist

Našel jsem to na: https://oldcomp.cz/viewtopic.php?f=48&t=5129

Program pro převod do wav jsem sice napsal, ale ten výsledný wav to stejně nenačte. Nevím proč.

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#71 Příspěvek od asdf »

Tak už asi vím, proč se ten můj wav nenačte. Jak dával rnbw ten odkaz: https://www.root.cz/clanky/graficke-moz ... ni-iq-151/
tak tam se píše, že od určité verze mělo IQ jiný formát záznamu na kazetu, který je nezávislý na polaritě signálu. A ta kazeta je nahraná ve formátu nezávislém na polaritě. Kdežto ten emulátor chce formát závislý na polaritě. Takže ta kazeta je asi z nějakého novějšího stroje, zatímco ten emulátor emuluje starší stroj. Snad budou teda ty programy fungovat.

Zatím jsem tedy našel jeden (ten videostop), který fungovat nebude - uprostřed se ho nepovedlo načíst, jsou tam nějaké divné znaky. Možná by to šlo doprogramovat.

Uživatelský avatar
PotPalo
Příspěvky: 4565
Registrován: 13 kvě 2009, 02:00
Bydliště: BA-Petržalka :(
Kontaktovat uživatele:

#72 Příspěvek od PotPalo »

Nemôže to byť tým že ten súbor je stereo? Skúsil by som ho prekonvertovať do mono. Prípadne otočiť polaritu nejakým programom.
Zlu sa neustupuje, proti zlu sa bojuje.

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#73 Příspěvek od asdf »

To jsem sice nezkoušel, ale řekl bych, že je to opravdu jiný formát zápisu. Když se koukneš na ten konvertor Txt2csw, tak se tam dá vlézt do adresáře ../src, kde je zdrojový kód. A tam je vidět, že to zapisují jinak. Oni dělají jedničku jako 01 a nulu jako 10. Kdežto ta kazeta je nahraná tak, že nula je 00 nebo 11 a jednička je 01 nebo 10. Tak jestli něco nepřehlížím, tak je to vážně nahrané jinak.

Uživatelský avatar
asdf
Příspěvky: 64
Registrován: 06 říj 2022, 02:00

#74 Příspěvek od asdf »

Tak jsem trošku opravil ten videostop.
Přílohy
1_5_opraveno.zip
(1.5 KiB) Staženo 136 x

Uživatelský avatar
LADER
Příspěvky: 273
Registrován: 01 dub 2013, 02:00

#75 Příspěvek od LADER »

Na Atari (TURBO 2000) to bylo tak, že zaváděcí tón měl periodu 600 taktů (3 kHz), následoval start bit o délce 180 taktů (10 kHz) a pak šli data. Nula měla délku 480 taktů (3750 Hz) a jednička 240 taktů (7500 Hz), a na konci kontrolní součet. Nevím jestli jednotlivé bajty měli kontrolní součet (ale myslím si že ne). Takty se počítaly podle délky cyklů instrukcí. A ty byly zase závislé na frekvenci procesoru CPU6502, která byla konstantní (myslím 1.79 MHz).
Ubuntu 22.04.4 LTS, LibreOffice Verze: 7.6.6.3, wxMaxima 20.12.1, Maxima 5.47.0 (SBCL)

Odpovědět

Zpět na „Software“