2024. május 1., szerda

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Negyven éves az Altair BASIC - a Microsoft első terméke

1975 tavaszán, pár hónappal az Altair 8800 számítógép megjelenése után, a Microsoft piacra dobta első szoftverét, egy BASIC értelmezőt.

[ ÚJ TESZT ]

A 4K BASIC átírása ENTERPRISE 128 számítógépre

Mivel szerettem volna kipróbálni ezt a legendás programot, úgy döntöttem, hogy a magam szórakoztatására átírom azt a gyerekkori számítógépemre, az ENTERPRISE 128-ra. A munkát megkönnyítette, hogy az interneten megtalálható a BASIC disassemblált kódja, ezáltal könnyen megérthető volt a program működése, illetve nem kellett keresgélni a lecserélendő gépspecifikus rutinokat (karakter írása / olvasása). Az eredeti, Altair-en futtatható bináris állományokat innét töltöttem le.

Ugyan az ENTERPRISE-ban a Zilog Z-80 processzora "dobog", ez elvileg nem kell, hogy problémát okozzon, hiszen gépi kód szintjén felülről kompatibilis az Intel 8080-nal (az Intel-ből kivált mérnökök tervezték a Z-80-at). Sajnos a gyakorlat mást mutatott, az átírt program a szabad memória kiírásánál lefagyott. Nem igazán értettem a dolgot, gyorsan egy RET utasításra cseréltem a PrintInt rutin elejét, így legalább elindult a program. A tesztelés során úgy tűnt, minden működik, kivéve a számok írását: az FOut rutin hívásakor mindig végtelen ciklusba került a program. Az Enterprise fórumról jött a megoldás, miszerint a Z-80 processzor másképp kezeli a paritás jelzőbitet, mint az Intel 8080, hátha ez lehet a baj.

Ezért átnéztem az egész programot, hol van olyan feltételes elágazás, vagy szubrutin hívás, aminek végrehajtása a paritás jelzőbit értékétől függ (JP PE, JP PO, CALL PE, CALL PO, RET PE és RET PO utasítások). Összesen két helyen találtam ilyen utasítást, nem meglepő módon mindkettő az FOut rutinban volt. A kód módosítása után végre működött a program!

Az ENTERPRISE-ra átírt verziót kiegészítettem még egy forrásfájl betöltő és kimentő paranccsal, ezek az F1 és F2 billentyűvel érhetők el. A 8K verzió CLOAD és CSAVE parancsait kiiktattam – nem csinálnak semmit. Az elérhető RAM 16kB.

Az Altair BASIC 8K verzióját bárki kipróbálhatja itt, ez egy böngészőben futó javascript-ben írt ENTERPRISE emulátor, amit lgb barátom készített. Az emulátor csak amerikai billentyűzet kiosztással működik helyesen.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

  • CHIP-8 – játék-engine 1977-ből

    Az RCA COSMAC VIP számítógép és a CHIP-8 nyelv bemutatója, amely még csaknem 40 év múltán is él.

  • Tévedés, hogy az M2M modern hóbort

    Sokan nem értik, miért van szükség okoseszközökre, mi ez a felhajtás az IoT körül. Az igazság az, hogy a történet korábban kezdődött, mint ahogy legtöbb olvasónk született.

  • Home computerek - első rész

    40 évvel ezelőtt jelentek meg az első nagy szériában gyártott homecomputerek, amelyek egy lavinát indítottak el.

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.