
Úvodná obrazovka programu TOPP V.1.0
Programové vybavenie pracuje pod DOS-om 2.5 (TOPP program si DOS verziu kontroluje, takže žiadne výmeny nasadenia programu v inom DOS-e !), použité atr je v medium hustote, t.j. má kapacitu 128kByte. Dôvod použitia DOS 2.5 je jednoduchý - programové vybavenie funguje priamo aj na originálnej disketovej jednotke Atari 1050, teda netreba robiť jej žiadnu úpravu.
Program neumožňuje prácu s kazetovým magnetofónom, jednoznačne ráta pre prácu iba s disketovou jednotkou (alebo jej dnešnými, modernými náhradami) !
Programová verzia TOPP V.1.0 PAL (05.04.2025):

Turbo-BASIC PAL 1.5 TOPPV10.atr (130,02 kb)
Programová verzia TOPP V.1.0 NTSC (05.04.2025):

Turbo-BASIC NTSC 1.5 TOPPV10.atr (130,02 kb)
(05.04.2025 - posledné úpravy tejto verzie programového vybavenia, tu už nebudú prevedené ďalšie zmeny. Vo vyšších verziách nad V.1x bude odstránené podstatné striktné obmedzenie v tzv. demo móde., bude sa týkať iba príkazu Write a vstupu do Igiho verifikácie.
14.03.2025 - Pretože niektoré veci v budúcnosti budú vyžadovať použitie TIME$ tak sú od tohoto dátumu k dispozícii oddelené verzie pre Turbo Basic PAL a Turbo Basic NTSC počítače.
Na disketu samozrejme musí byť povolený zápis.
Program má v sebe použitú určitú základnú ochranu proti vylistovaniu, pôvodne mal byť aj skompilovaný, ale ako sa ukázalo rada XL spôsobovala po skompilovaní ďalšie a ďalšie problémy /zaujímavé je to že sa toto absolútne netýka rady XE/ tak som programové vybavenie nechal v TB, rýchlosť programu je naprosto dostatočná. Pri boote diskety netreba stláčať klávesu OPTION - Turbo Basic automaticky vypne interný Basic.)
__________________________________________________
06.07.2025
Oprava v programe - pri použití príkazu Save (ak je zaplnený disk 64 súbormi ) síce prišlo k pípnutiu v programe a potom nasledoval návrat do príkazu, ale nezobrazila sa hláška "Disk full".
Opravené.
Priamo do programu bol umiestnený odkaz na webovú stránku.
__________________________________________________
Pre prácu programu je potrebný počítač Atari 600XL/64kB RAM, 800XL, 800XE, 130XE, 320XE, 65XE, XEGS, zo staršími verziami počítačov - Atari 400 a Atari 800 sa neráta., ani s počítačom Atari 1200XL, ten má v originále iný OS (nemám ho k dispozícii takže to s ním neviem otestovať). Ak je pamäte viac ako 64kB tak je potom k dispozícii 64kB ramdisk s označením D8: (ako pri Atari 130XE). Tak isto ešte dokáže spolupracovať s disketovou jednotkou D2: - teda ak reálne existuje, potom máme k dispozícii celkove 3 jednotky a to D1:, D2: a D8:. Uvedený počet jednotiek pre tento programátor považujem za viac ako dostatočný. Druhá strana diskety je voľná na použitie ako datové úložište alebo podobne, osobne práve takéto využívanie považujem za najlepšie riešenie. Samotné potrebné programy sú zamknuté, teda sú chránené proti prepisu a nechcenému vymazaniu.
Keď sa TOPP program spustí bez fyzicky pripojeného a zapnutého programátoru - toto sa testuje, tak program prejde do tzv. "demo" módu kedy sú jeho možnosti poriadne oklieštené (ale stále je možné si pozrieť zoznam všetkých príkazov) - toto ale platí iba pre verzie rady 1.x.
Upozornenie:
Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu
zodpovednosť za škody spôsobené používaním zariadení postavených podľa tu uverejnených
schém alebo zobrazených úprav.
Ako som už spomenul programátor pracuje s 5 druhmi TESLA PROM pamäťami:
typ: organizácia: možnosti:
- MH74188 32x 8 bit Read/Write
- MH74S187 256x 4 bity Read only!
- MH74S287 256x 4 bity Read/Write
- MH74S370 512x 4 bity Read only!
- MH74S571 512x 4 bity Read/Write
V tomto odkaze nájdete všetky obsahy PROM vhodné pre tento programátor ktoré sa mi doteraz podarilo získať:
USBprog - Part10. Obsahy-contents PROM 74287, 74S287, 74571, 74S571.
Dôležité upozornenie:
Programátor na počítač pripojte v uvedenom poradí:
- skontrolujte či je vypnutý počítač, ak áno pokračujte
- skontrolujte či je vypnutý programátor, ak áno pokračujte
- skontrolujte či je zapojený zdroj pre programátor, potom pokračujte
- prepojte programátor a počítač káblikom do Joyportu č.2
- založte disketu s TOPP programom (alebo zariadenie emulujúce systémovú disketu) a zapnite počítač
- po nabootovaní programu Vás program v úvodnej obrazovke vyzve na zapnutie napájania pre programátor
- zapnite programátor a následne stlačte medzerník
- môžete začať používať programátor, riaďte sa pokynmi na displeji
Ukončenie práce prebieha v opačnom poradí:
- vypnite napájanie programátoru, ak je už vypnutý tak pokračujte
- vypnite počítač, ak je už vypnutý pokračujte
- až potom rozpojte prepojenie programátor - Joyport2
Nedodržanie uvedeného postupu môže mať za určitých okolností za následok poškodenie čipu 6520 ktorý sa nachádza v počítači a ovláda prístup na obidva joyporty ! - ani disketové jednotky sa neodporúča pripájať a odpájať ak je zapnutý počítač, takže uvedený postup je naozaj dobré dodržať.
Dĺžka PGM pulzu je po štarte programu automaticky vždy nastavená na 10 milisekúnd - toto sa udeje aj po zmene voľby typu PROM, je to nastavené na stred povoleného rozsahu - bola zvolená taká zlatá stredná cesta.
Predvoľby pre PGM pulz sa dajú nastaviť na 5 rozdielnych hodnôt (časom ich asi bude viac):
1 - 2msec
2 - 5msec
3 - 10msec
4 - 15msec
5 - 20msec
Štandartne podľa datasheetu je povolený rozsah PGM pulzu v rozpätí od 1÷20msec, jednoduchým spôsom sa v TB pod hodnotu 2msec PGM pulzu nedostanem (síce viem ako na to, ale bolo by to o niečo zložitejšie) - tak som to zatiaľ tak ponechal, ničomu to nevadí.
Nahratie a aj ukladanie dát prebieha výlučne v binárnom tvare. Pretože tu máme "klasický DOS", tak pre názov máme k dispozícii "celých" 8 znakov a pre extender 3 znaky. No a dostať výstižný názov do 8 znakov nie je žiadna sranda, ale pomôže nám zmena názvu koncovky. Preto som zvolil nie koncovku .bin (aj keď sa stále jedná o binárky), ale označenie ktoré priamo priamo definuje typ PROM a teda aj jej veľkosť:
- 74188 je koncovka FILENAME.032 32x 8 bit Read/Write
- 74S187 je koncovka FILENAME.256 256x 4 bity Read only!
- 74S287 je koncovka FILENAME.256 256x 4 bity Read/Write
- 74S370 je koncovka FILENAME.512 512x 4 bity Read only!
- 74S571 je koncovka FILENAME.512 512x 4 bity Read/Write
Týmto sa zároveň účinne pri "LOAD" rozpoznáva použitý typ pamäte a dá sa aj skontrolovať že nahrávaná binárka je určená pre zvolený typ pamäte a nemáme pochybnosti o správnosti zvolenej binárky. Program zároveň testuje či sme pre zvolenú PROM použili binárku zo správnym extenderom, teda ani omylom nenahráme binárku pre iný typ PROM.
Je tu extra možnosť generovania/editácie obsahu bufferu pre pamäť PROM 74188, pre PROM s väčším obsahom (typy 2,3,4 a 5) ale s takouto možnosťou nerátam, väčšie PROM majú dodané svoje zdrojové binárky z iných zariadení. Je tu možne napísať nový obsah pre buffer, alebo prepisovať/editovať jeho obsah. Ak aj počas písania/editácie z tejto možnosti vystúpite dovtedy napísaný obsah sa uchová a môžete neskôr v tejto činnosti pokračovať. Všetky možnosti práce v tomo režime sa zobrazia priamo na displeji po zvolení tejto voľby.
Ešte k tomu že sa pracuje s binárkou - ak máte k dispozícii súbor iba v hexa tvare tak je potrebné použiť "prekladač" hex2bin ktorých je na PC strojoch dostatok, toto som už priamo v programe neriešil.
Z uvedeného je zrejmé že továrensky napálené typy 74S187 a 74S370 vieme v programátore iba prečítať a uložiť ich obsah do binárky

Tu doska ešte nie je vo svojej finálnej podobe ... zopár vecí ešte na doske časom pribudlo, viď úvodný obrázok.
No a takto to vyzerá interne v DOS-e:
Vzhľadom k tomu že DOS 2.5 pracuje zo sektormi o dľžke 128 byte, z toho v reáli vyplýva nasledovné:
Súbor pre 74188, t.j. 32 byte zaberá v skutočnosti 1x 128byte + ukončovací sektor, teda 2 sektory, spolu 256byte.
Súbor pre 74S187 a 74S287, t.j. 256byte zaberá v skutočnosti 2x 128byte + ukončovací sektor, teda nakoniec 3 sektory, spolu 384byte.
Súbor pre 74S370 a 74S571, t.j. 512byte zaberá v skutočnosti 4x 128byte + ukončovací sektor, teda nakoniec 5 sektorov, spolu 640byte.
Pre užívateľa to takto "strašne zložite" nevyzerá, programátor stále pracuje s reálnymi údajmi bináriek a to 32byte, 256byte alebo 512byte.
Tak isto ak sa dostaneme k binárkam z tretej strany - tak tu stačí na nich premenovať správne koncovky (extender =.bin) na NAME.32, NAME.256 alebo NAME.512 a preniesť ich na disketu (alebo médium čo ju nahradzuje).
Pre menej znalých - prenosy údajov medzi Atari a PC zabezpečí napríklad program makeAtr (spúšťa sa na PC, netreba ho inštalovať), ktorý pri prenose z Atari sám zabezpečí správny prenos dĺžky binárky na PC (a naopak).
Program makeATR:

Make ATR.zip (55,87 kb)
Po voľbe typu PROM s ktorou chceme pracovať sa nám všetky ďalšie potrebné údaje zobrazia na displeji - či je to už informácia o tom či máme nejaké Data už v bufferi, alebo sa jedná o PROM v tvare High byte, alebo Low byte. Voľby ktoré pre daný typ PROM nedávajú zmysel (napr. továrne nahratá PROM 74S187) majú v menu potlačenú možnosť voľby WRITE, t.j. nie je možné do nej zapisovať.
Pri práci s PROM pamäťou vyššou ako 74188 pri jej čítaní do bufferu je potrebné navoliť či budeme pracovať s tzv. "High" nibble alebo "Low " nibble. Pokúsim sa to stručne vysvetliť - pamäte nad typom 74188 majú organizáciu 256x4 alebo 512x4 bity, t.j. pracujeme iba zo 4 bitmi. Ak zvolíme High nibble tak data budú ukladané vo formáte Fxh, čo značí že prvý byte bude vždy rovný F a x budú naše 4 bit Data. V prípade navolenia Low nibble budú Data ukladané vo formáte 0xh, čo značí že prvý byte bude vždy rovný 0 a x budú naše 4-bit Data. Toto je pri nahrávaní obsahu PROM dôležité, pretože my nemáme žiadnu možnosť zistiť či sa v konkrétnom zapojení PROM v zariadení používa High alebo Low nibble. Toto rozhodnutie je plne na Vás, pretože program vo svojom vnútri ďalej pracuje iba zo 4 bitmi a má potom v sebe príznak, ktorý mu hovorí že pri ukladaní (SAVE) sa už automaticky zvolí High alebo Low nibble do zápisu. Určite ste si všimli že sú dostupné binárky pre 74S287 a 74S571 ktoré začínajú buď s Fxh alebo s 0xh, tu ich stačí nahrať, program si z takejto binárky už sám určí či je použitý High alebo Low nibble, bohužiaľ ako som spomenul pri prvotnom priamom čítaní obsahu PROM v programátore sa táto "automatika" nedá použiť pretože sú k dispozícii iba tie spomínané 4 bity a teda nie je možné práve toto určenie High alebo Low nibble pri priamom čítaní PROM zautomatizovať.
Takto nahraté Data v PROM sú samozrejme plne použiteľné aj vtedy ak zariadenie vyžaduje High nibble a pritom sme napálili verziu s Low nibble, toto si totiž už určuje konkrétne osadenie PROM v zariadení - pre neznalých to vyznieva ako dokonalá "haluz" - ale kto sa v tom vyzná mi dá za pravdu.
Slovensky "lopatisticky" povedané ak by sme aj obidve PROM napálili ako Low nibble, tak nám stačí ich správne označiť a nasadiť, budú taktiež plne funkčné (dobré je potom si priamo na PROM označiť ktorá bude na mieste horných 4 bitov a ktorá bude na mieste spodných 4bitov ... nebudeme ich musieť pri nesprávnom založení bez označenia medzi sebou prehadzovať.
Poviem to aj inakšie - je to len vec ktorá mierne sťažuje naše myslenie pri používaní týchto PROM. Hlavný zmysel začína mať vtedy ak používame dvojicu týchto PROM a s nimi vytvárame potrebný byte pre zariadenie, potom musíme vedieť ktorá z nich bude na pozícii High nibble a ktorá na pozícii Low nibble - najlepšou voľbou je dať popis obsahu PROM priamo na ňu - perfektne to rieši popísaná samolepka.
Ako funguje vlastný prenos dát - naozaj iba veľmi stručne - pomocou CLOCK a DATA sa nachystajú údaje, potom sa pomocou STROBE zapíšu do obvodov IC2 až IC4, obvod IC5 pri STROBE pošle načítané DATA naspäť do počítača. Toto naprosto nádherne a bezchybne funguje pri rade XE, ale nie už tak celkom dobre v rade XL. Preto bol software upravený tak že DATA sa zapíšu na IC2÷IC4, pošle sa pulz na STROBE - ale toto prvé načítanie údajov z IC5 sa jednoducho odignoruje a po chvíľkovej pauze sa pošle STROBE nanovo - až tieto druhýkrát načítané DATA sa považujú za platné. Toto výsledné riešenie bolo zvolené preto aby programové vybavenie fungovalo aj s radou XL a nielen s XE. Uznávam, je to svojím spôsobom divočina, ale ak s týmto riešením má niekto problém - prosím obráťte sa na tvorcov počítačov Atari rady XL ...
_________________________________________________________
Celé programové vybavenie pre TOPP (všetky vydané a budúce uverejnené verzie) sú napísané na reálnom "železe", teda na počítačoch Atari 600XL (64kB RAM, neskôr s pridanou 512kB RAM) a Atari 800XE (320kB RAM). Áno viem, existujú emulátory ale tie ma veľmi nebavia, akurát som namiesto disketovej jednotky používal jej emulátor (šetrí to fyzické diskety ...) na notebooku Asus EEE-1005HA pracujúcim pod Win7 32bit a s programovým vybavením RespeQT 5.2 a prepojením cez Lotharekov interface SIO2USB. Program je napísaný v jazyku Turbo Basic, vyhovuje z hľadiska rýchlosti a hlavne dokáže pracovať s procedúrami ...
(Počet vytvorených pracovných verzií radšej nebudem menovať - ale bolo ich naozaj hodne ..., teraz to konečné číslo už nie je dôležité, hlavné je z môjho hľadiska že sa to podarilo dotiahnuť až do konca.)
_________________________________________________________
V nasledujúcej časti o TOPP bude MOM - Malý Obrazový Manuál pre TOPP programátor.
__________________________________________________________
Prvá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Part1.
Druhá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Hardware. Part2.
Tretia časť:
Práve ju sledujete ...
Štvrtá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Picture manual. Part4.
Piata časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Own construction. Part5.
Šiesta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.1. Part6.
Siedma časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.0. Part7.
Časť číslo osem:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.1. Part8.
Deviata časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.2. Part9.
__________________________________________________________

Vaše hodnotenie, Rate post: