TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.0. Part3.

By Administrator at February 27, 2025 09:00
Filed Under: Atari

Úvodná obrazovka programu TOPP V.1.0

 

Programové vybavenie pracuje pod DOS-om 2.5 (TOPP program si použitú 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. Je to úplne prvá verzia programu, preto si myslím že je tu veľa vecí riešených inak ako sa postupne pri vývoji programového vybavenia ukáže ... len som to chcel už pustiť na web, rozhodne na vývoji programového vybavenia hodlám ešte poriadne zapracovať.


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. Program nikdy nespúšťajte ak máte v joyporte č.2 pripojený joystick ! - mohlo by prísť k poškodeniu čipu 6520 ak by ste stlačili niektoré tlačítko na joysticku !


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 - jeden z dôvodov je aj jasne definovaný max. počet súborov na disku a moťnosť jednoduchého zobrazenia Directory disku. Na začiatku tvorby programu padlo rozhodnutie že komunikácia v programe bude poväčšine cez "okienka". Dostupnosť Ramdisku nie je podmienkou pre fungovanie TOPP programu, akurát sa niekedy jeho dostupnosť z rozličných príčin môže hodiť.


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 - DOS 2.5 (05.04.2025):

Turbo-BASIC PAL 1.5 TOPPV10.atr (130,02 kb)

Programová verzia TOPP V.1.0 NTSC - DOS 2.5 (05.04.2025):

Turbo-BASIC NTSC 1.5 TOPPV10.atr (130,02 kb)

Dátum zároveň vyjadruje poslednú prevedenú úpravu v tejto verzii programu.

Celkový počet programových riadkov = 487


(05.04.2025 - posledné úpravy tejto verzie programového vybavenia, tu už nepredpokladám ďalšie zmeny. Vo vyšších verziách nad V.1x budú postupne odstránené striktné obmedzenia v tzv. demo móde, budú sa ďalej 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 .  inak by nefungovali správne v programe uvedené časové údaje.

Na samotnú 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 /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 priamo v programe a potom nasledoval návrat do posledného príkazu, ale nezobrazila sa hláška "Disk full" - už 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 tu 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: (tak 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 prácu s TOPP programátorom 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. TOPP program + systémové súbory DOS 2.5 sú zamknuté (Lock), teda sú chránené proti prepisu a nechcenému vymazaniu. Program je koncipovaný tak že po svojom spustení už nepotrebuje mať v D1: založenú boot disketu a teda namiesto D1: môžeme založiť kľudne aj datovú disketu (teda samozrejme napr. čistú, naformátovanú druhú stranu diskety).

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 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., vyššie verzie už od tejto reštrikcie postupne budú upúšťať.

 

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 v tejto verzii programu dajú nastaviť na 5 rozdielnych hodnôt (časom ich 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í, aj na tomto ešte zapracujem.


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.

 

Ešte pár slov k binárkam:

- ak ukladáme 32byte treba na disku 1 sektor, ten je zároveň aj ukončovací, teda zaberie 128byte

- ak ukladáme 256x4 bity treba na disku 3 sektory, 2 obsahujú data a 1 sektor je ukončovací, spolu 384 byte

- ak ukladáme 512x4 bity treba na disku 5 sektorov, 4 obsahujú data a 1 sektor je ukončovací, spolu 640 byte

 

No, vyzerá to na prvý pohľad "divoko" - ale pracujeme skutočne s potrebnými dtami.

 

Je tu extra možnosť generovania/editácie obsahu bufferu pre pamäť PROM 74188, pre PROM s väčším obsahom (typy 3 a 5) zatiaľ 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. (Možno na tomto ešte tiež zapracujem.)

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.

 
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 vo Vašom prípade 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 relatívne 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 tu 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.

 

No, je to prvý program pre tento programátor a ako sa poznám určite to nebude jeho posledná verzia, tých nápadov sa medzičasom objavilo viacero ... ešte to ale bude treba postupne realizovať.

 

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 ...

Priamo v programe je v DATA riadkoch uložený obsah pre strojovú rutinu obsluhy JOY portu č.2. Síce by sa to dalo uložiť cez file.obj a nahrať pomocou BLOAD file.obj ale takto je to šikovnejšie, pretože je to priamo súčasťou TOPP programu - ocenia najmä majitelia jedinej disketovky - nemusia pri reštarte vždy zakladať zdrojovú TOPP disketu.

_________________________________________________________

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, tu síce DOS 2.5 využije len ďalších 64kB RAM ako ramdisk) a taktiež na Atari 800XE (320kB RAM, zase využitých len ďalších 64kB RAM). Áno viem, existujú emulátory pre Atari ale tie ma veľmi nebavia, ale namiesto disketovej jednotky priznám sa používam jej emulátor (šetrí to fyzické diskety ...) beží mi to na notebooku Asus EEE-1005HA ktorý pracuje pod Win7 32bit a používa programové vybavenie RespeQT 5.2, na prepojenie Atari-PC používam Lotharekov interface SIO2USB. Program TOPP je napísaný v jazyku Turbo Basic, vyhovuje mi z hľadiska rýchlosti a hlavne dokáže pracovať s procedúrami ...

(Počet reálne vytvorených pracovných verzií TOPP radšej nebudem menovať - ale bolo ich naozaj hodne ..., teraz to konečné číslo už nie je dôležité, považujem za hlavné to že sa to podarilo zdárne 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.

Desiata časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software update. Part10.

Jedenásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.4. Part11.

Dvanásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.5. Part12.

Trinásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.6. Part13.

Štrnásta časť:

TOPP - software P188_46C_Vigi_MyDOS - SH. Part14.

Pätnásta časť:

TOPP - software P188_46F_Vigi_SpartaDOS - aka SH. Part15.

Šestnásta časť:

TOPP - Tesla Old PROM Programmer - Diagnostic disk HWT 2.0. Part16.

Sedemnásta časť:

TOPP - Tesla Old PROM Programmer - all program version. Part17.

__________________________________________________________

Vaše hodnotenie, Rate post:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Hardware. Part2.

By Administrator at February 23, 2025 08:40
Filed Under: Atari

 Programátor je určený pre počítače 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.

 

 TOPP - Tesla Old PROM Programmer pre Atari 8bit.


V tejto časti popisu nasleduje schéma zapojenia TOPP programátoru - najprv je v nízkom rozlíšení + nasleduje schéma v plnom rozlíšení. Za nimi je už samotný pokec k zapojeniu a zoznam použitých súčiastok. Pre stavbu sú potrebné základné znalosti práce s TTL a CMOS obvodmi, t.j. nepredpokladám stavbu zariadenia úplným začiatočníkom, je to dané aj tým že sa stavia na univerzálke.

 

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. Program nikdy nespúšťajte ak máte v joyporte č.2 pripojený joystick ! - mohlo by prísť k poškodeniu čipu 6520 ak by ste stlačili niektoré tlačítko na joysticku !

Náhľad schémy zapojenia:


 

Schéma zapojenia v plnom rozlíšení:

PP_IGSH11_final_IG_SH_switch.PNG (92,54 kb)

 

Komentár k schéme:

Na obrázkoch to síce nie je na prvý pohľad poznať ale na doske obojstranného prekoveného plošného spoja (jedná sa o tzv. "zelenú" verziu dosky) sú pätice ZIF1 a ZIF2 vo svojom poradí vzájomne prehodené - ľahšie sa mi totiž v tomto poradí prepájali potrebné kábliky, toto je jediný dôvod zmeny oproti nakreslenej schéme. Nakoniec - na doske programátoru sú tieto pätice jasne označené, takže tu nečakám nejaké problémy s tým kde sa ktorý typ PROM pamäte má vložiť. Taktiež je jasne vyznačená pozícia pinu č.1 v ZIF pätičkách aby neprišlo k zlému založeniu PROM, síce oproti zvyklosti že pin 1 býva na strane páčky je to u mňa práve zapojené naopak, ale toto zase až za taký veľký prehrešok nepokladám, rovnako to mám riešené aj na programátore pre PROM 74188 na SBC6502 - poviem to inak - aj tu pokračujem v naznačenom opačnom trende - označenie pinu 1 na doske programátoru považujem za dostatočne jasné a teda nemalo by prichádzať k nejasnostiam pri založení PROM do pätice.

K samotnej schéme len toľko že tu máme k dispozícii 3x 8bit výstupné porty (3x čip 4094) a 1x 8bit (1x čip 4021) ktorý funguje ako vstupný port, sú programovo ovládané cez sériovú linku ktorá je tu programovo vytvorená na joyporte č.2.

Čo indikujú v TOPP programátore použité 4x LED je dostatočne popísané priamo v schéme samotného programátora, takže to tu nebudem ďalej rozoberať.


Tu ešte nie sú osadené všetky prvky ktoré sa ukázali ako nezbytné pre prácu na všetkých spomenutých

typoch počítačov Atari, proste postupný vývoj zapojenia zariadenia priamo v praxi.

 

Ak sa pozrieme na zdroj napájania, je vidieť že sú tu použité 3x diódy 1N4007 (1N4xxx) zapojené postupne v sérii, pričom prvá z nich (D1) je štandartne premostená jumperom, teda je skratovaná. Táto dióda nájde svoje využitie iba vtedy ak použitý napájací zdroj dodáva napätie vyššie ako 12V, toto nám umožní použiť aj zdroj s napätím v rozmedzí 12.3V ÷ 12.7V/DC. Zdroj ktorý dodáva potrebných 12V/DC má túto diódu v zapojení trvale skratovanú - teda pri presnom zdroji 12V dióda D1 ani nemusí byť osadená (vtedy stačí použiť skratovaciu prepojku), potom stačí osadiť iba dvojicu diód D2 a D3. Odpor R1 v zapojení slúži ako tzv. predzáťaž, potom je úbytok napätia na týchto dvoch diódach 1N4007 skoro presne 1.5V čo práve potrebujeme aby sme mali k dispozícii potrebné programovacie napätie +10.5V.


Pozor, podľa datasheetu najvyššie programovacie napätie TESLA PROM

pamätí nesmie presiahnuť hodnotu 11V !


Napájací zdroj 12V/DC pre napájanie programátoru musí byť schopný dodať prúd minimálne 1A, potom s rezervou pre použitie v TOPP programátore postačuje.
Ak sa použije slabší zdroj tak nemusí prísť k potrebnému prepáleniu interných mostíkov v programovanej PROM, majte to prosím na pamäti.
Pretože je tu potrebné použiť externý napájací zdroj tak logicky z toho vyplynulo že obvody programátora sú taktiež napájané z neho, teda samotný  TOPP programátor nezaťažuje zdroj +5V v počítači. Z Atari počítača sa z jeho zdroja +5V odoberá iba pre napájanie oranžovej (žltej) LED čo je indikáciou na doske TOPP že počítač je zapnutý, tento odber nepresiahne hodnotu 2mA, čo naozaj nie je veľká hodnota - kto na tejto indikácii na doske programátora že je počítač zapnutý netrvá tak túto časť môže kľudne vynechať. 
Programátor v kľudovom stave odoberá prúd cca 20mA (podstatnú časť z tejto hodnoty pritom odoberá tzv. záťažový odpor R1), pri čítaní PROM dosahuje odber cca 60mA (5V), pri programovaní je to ešte plus odber pri samotnom PGM pulze (12V) - tu sa údaje rôznia - buď je to + 450mA alebo až 750mA - ten druhý údaj sa mi ale zdá veľmi málo pravdepodobný, tento vyšší odber je ale naozaj krátkodobý, časovo je to max. desiatky ms, skôr je to podstatne kratšia doba dosahujúca jednotky ms. Použitý malý chladič na 5V stabilizátore LM7805 svojimi rozmermi na tomto mieste naprosto postačuje. Dtto sa týka použitého chladiča pre tranzistor BD140 - tu by ten chladič ani nemusel byť nasadený, tento tranzistor v prevádzke bezpečne "chodí" iba v spínanom režime, skôr je to tu použité ako jeho ochrana pri programovaní nejakej "blbej" PROM (a to sa nikdy nedá na 100% vylúčiť). Samotný tranzistor BD140 je osadený v pätici takže je ho možné veľmi ľahko vymeniť - ak by to niekedy bolo treba (zatiaľ sa to nestalo a to ani v staršom programátore PROM 74188 postavenom pre SBC6502).

Odpor R6 slúži pre potlačenie zbytkového prúdu Zenerovej diódy (ZD) pre červenú LED, t.j. bráni jej rozsvecovaniu pri napájacom napätí 5V, toto zapojenie mám odskúšané už z programátoru pre PROM 74188 na SBC6502 - nevidím dôvod nepoužiť aj tu už osvedčené zapojenie.

Použité 12V DIP relé v zapojení neobsahuje priamo v sebe integrovanú ochrannú dódu - tu ju nahrádza pridaná dióda D5 (1N4148), je umiestnená v pätici priamo pod samorným DIP relé, je tam pre jej osadenie dostatok miesta. Aj keď je vďaka tomu skrytá pre zrakom tak svohu úlohu potlačenia napäťovej špičky pri vypnutí relé zvláda na jednotku. DIP relé v zapojení zabezpečuje totálne odpojenie napájania pre PROM pamäť vtedy ak zaručene nechceme mať na ZIF päticiach žiadne napätie.


30cm prepojovací káblik a tiež jeho kratšia 7cm verzia medzi Atari Joyport2 ‹-› doska TOPP.

 

Pár slov hodím do placu aj k prepojovaciemu kábliku Atari joyport2 - TOPP programátor:


Na prepojenie počítač - TOPP programátor som použil netienený plochý 9-žilový káblik ktorý má v sebe zapojené všetky piny joyportu2, teda na TOPP programátor dostávame všetky signálové a napájacie vodiče - reálne sa však z nich používa iba 6 vodičov - a to 4x Data (jedná sa o piny 1, 2, 3 a 4 z joyportu), ďalej je to ešte +5V (pin 7) a Gnd (pin 8).
Samotná dĺžka prepojovacieho kábliku by nemala presiahnuť 30cm, tu určite platí že menšia hodnota je lepšia. Môj prívodný káblik je práve na hornej spomenutej hranici, aby som mal istotu že to bude chodiť mám k dispozícii urobený aj kratší, iba 7cm káblik, ale ako som v prevádzke zistil s obidvoma káblikmi TOPP programátor funguje bez najmenších problémov. 
Takže pokúsim sa to zhrnúť - káblik ktorý bude mať dĺžku niekde v rozmedzíi 7cm ÷ 30 cm určite na tomto mieste vyhovie.
Pre vytvorenie potrebného kábliku (teraz myslím stranu joyportu) som rozobral 9-pinový CANNON konektor (samička), odstránil som z neho pôvodný kovový obal, pripájal som drátiky a následne som túto koncovku zalial Epoxy, čím som si zároveň vytvoril aj šikovnú úchytku na jeho vyberanie z joyportu.

Kritické je krátke pripojenie spomenutých 6 vodičov na čip 74LS14, teda konkrétne prepojenie kábliku od Atari na tento čip na doske TOPP - má byť čo najkratšie, potom ďalej v schéme to už nie je problémové - viď v  ďalšom podrobný obrázok s popisom rozmiestnenia súčiastok.

 

Na obrázku je prvá verzia základnej dosky počas stavby ktorá má iné rozloženie súčiastok. Tento konkrétny káblik je použitý aj v novšej verzii programátoru. (Tu ešte na doske nie je osadený čip 74LS14 - jednoducho toto bol hlavne vývojový kus - a tu sa ešte s čipom 74LS14 v zapojení akosi nerátalo ...)

 

Je dobré si ešte pred osadením do dosky skontrolovať skutočnú kapacitu kondenzátoru C12, teda aby mal naozaj hodnotu čo najbližšie k 0.1uF /100nF/. Mierna odchýlka od uvedeného tu nevadí, ale nech to nie je ± 20%. Použitý kondenzátor je tzv. "modrá" keramika. Môj použitý C12 má kapacitu 98nF, čo tu naprosto bez problémov vyhovuje (2% odchýlka).

Ako vidieť, pri osadzovaní druhej dosky som už doma nemal k dispozícii rezistorové pole 8x 47k a tak namiesto RF1 som v zapojení použil samostatné odpory, funkčne je to samozrejme zhodné. Dtto sa týka RF3, tu sú tiež použité samostatné odpory 4x 4k7, tie sú zase osadené priamo na mini doštičke s DIP switchom.

Tranzistor na pozícii T9 (typ BC547 alebo BC546) by mal mať približne h21e >300, je dobré si to skontrolovať - pri menšej hodnote nemusí sedieť časovanie postupného nárastu z +5V na +10.5V, pri príliš vysokej hodnote je to zase viac náchylné na "vonkajšie vplyvy", myslím tým rušenie, takže je dobré sa tu "držať sa pri zemi" a teda dať sem naozaj tranzistor ktorý má "trojstovku" v krvi.

(Moje domáce zásoby tranzistorov ukazujú že u typu BC547 ide kľudne h21e>700, potrebný údaj pre nasadenie v TOPP programátore spoľahlivo dosahuje aj typ BC546.)


Rozmiestnenie súčiastok spolu s ich označením na druhom prototype programátoru TOPP. Tu je už na doske osadený aj spomenutý čip 74LS14, ako vidieť je najbližšie ku konektoru ktorý smeruje na joyport2. Konektor pre pripojenie na joyport2 sa nachádza medzi čipom 74LS14 a DIP switchom.

 

Na začiatku programovania joyportu č.2 vyvstal problém s rýchlosťou práce zo samotným joyportom. Teda, budem presnejší - vďaka odporom a kapacitám zaveseným na jednotlivých bitoch brány čipu 6520 priamo v počítači sú nábežné hrany jednotlivých bitov pri snímaní osciloskopom skutočne "desivé", nebudem tu dávať obrázok z osciloskopu, ale najlepšie tvar krivky nábehu do log.1 pripomína vynorenú chrbtovú plutvu žraloka s krásnym postupným oblúkom, pritom do log.0 to padá podstatne, podstatne rýchlejšie. Tu jednoznačne pomohlo zaradiť do cesty jednotlivým bitom pre programátor Schmittov klopný obvod, realizuje to tu konkrétne čip 74LS14 ktorý už presne definoval prechodové stavy bez potreby skúšať nejaké iné riešenie ktoré by si už vyžadovalo zásah dovnútra počítača a teda stratila by sa univerzálnosť zapojenia. Tu tiež chvíľu trvalo než sme si uvedomili kde je pes zakopaný + nasledovalo zistenie že to ešte bezpodmienečne vyžaduje nasadenie kapacity C16 - bez nej to jednoducho spoľahlivo nefunguje aj keď sa v zapojení použije obvod 74LS14. A pre univerzálnosť zapojenia ešte bola potrebná kapacita C18, ako vidieť u mňa je zložená z dvoch paralelne zapojených 10nF kapacít, pravdepodobne by tu asi vyhovela aj kapacita 22nF.

C16 je tantalový kondenzátor o kapacite 47uF/16V (môže byť až do hodnoty 100uF), je pripojený na +5V samotného počítača a jeho zem.

 

Kapacita C16 je mimoriadne dôležitá - bez nej nebude bezchybne fungovať

sériový prenos dát.

 

A že to trvalo než sme práve toto zistili ...

Ak k C16 ešte navyše pridáte paralelne zapojenú keramiku 0.1uF - tým určite nič nepokazíte. Ja som sem dal na začiatku vývoja kapacitu 22uF/16V - normálny elektrolyt plus k nemu paralelne keramiku 0.1uF. Ako sa postupne ukázalo síce tým bola zvolená dobrá cesta, ale s príliš malou kapacitou a nevhodným typom kondenzátoru ...
Ďalšou možnosťou je dať túto kapacitu priamo do počítača, ale tým sa stratí univerzálnosť zapojenia - a nie každý je ochotný sa vŕtať v svojom stroji, čiže aj toto som bral do úvahy.
Neviem, možno by bolo mimoriadne zaujímavé vyskúšať mať túto kapacitu napájkovanú priamo na CANNON konektore ktorý sa vkladá do joyportu, teda by bola zaliata priamo v Epoxy, ale toto som už neskúšal.


Druhá verzia programátora - kapacita C16 - modrý tantal  47uF/10V priamo pod prívodným káblikom od počítača (úplne vpravo nahor). Tu je už prívodný káblik pootočený o 90° oproti prvej verzii. Vľavo na doske sú vyvedené jednotlivé piny od tranzistorov  - zelené 2x4 piny slúžili pri vývoji ako miesta na meranie  - vtedy totiž ešte neboli na doske osadené ZIF pätice. (Obrázok zodpovedá stále doske vo vývoji, ešte nie sú na doske osadené všetky súčiastky pre jej konečnú podobu.) Ako vidieť na doske sa ide okamžite na čip 74LS14, potom už dĺžka prepojov z tohot čipu na ostatnú logiku programátora na doske nie je kritická.

 

Čo dodať ?

Čo sa týka osádzania tranzistorov BS170 ktoré sú háklivé na statickú elektrinu - najprv ich v testeri premeriam, potom tenkým odizolovaným drátikom (napr. z licne) prepojím jeho nožičky do vzájomného skratu a tranzistor zapájkujem do dosky. Potom drátik odstránim a voilá, tranzistor zaobchádzanie s ním a aj pájkovanie v zdraví prežil.

Ako vidieť v zapojení programátora sa skutočne nešetrilo kapacitami, ani to neodporúčam, tu rozhodne platí radšej ich mať v zapojení viac ako menej ...

Ohľadne prepojovania súčiastok na univerzálke doske - pretože komunikácia s počítačom prechádza najprv cez obvod 74LS14 (ten sa nachádza úplne najbližšie prepojovaciemu konektoru na počítač) tak následná dĺžka prepojovacích káblikov na doske nie je až tak dôležitá pretože rýchlosť programátora je dostatočne nízka takže tu nehrozí že by vďaka dĺžke vlastnej prepojovacej kabeláže priamo na doske programátor nefungoval.

Pri napájaní jednotlivých integrovaných obvodov treba dodržiavať základné stavebné pokyny - použiť na rozvody napájania čipov silnejšie vodiče (napr. zvonkový drát a pod.), dôsledne pri každom čipe nasadiť minimálne jednu kapacitu (elektrolyt, alebo ešte lepšie tantal, pozor na správnu polaritu ! ) + nezabudnúť paralelne pridať keramiku 0.1uF, tým zaručene nič nepokazíme. U mňa sa minuli domáce zásoby tantalov takže v mojom zapojení prišli na rad elektrolytické kapacity. Ak v zapojení nasadíte tantaly bezproblémovo postačuje ak namiesto 22uF majú kapacitu 4.7uF.

Taktiež pri stabilizátore LM7805 na jeho vstupe a výstupe treba použiť blokovacie keramiky 0.1uF - sú osadené čo najbližšie k jeho vývodom, zabraňujú kmitaniu stabilizátora napätia.


Dodatočná poznámka:

Som si vedomý že je tu možné v zapojení urobiť zjednodušenie - ak sa pozriete na zapojenie bližšie tak je jasné že odpor pripojený cez DIP switch č.4 je trvale pripojený (nikdy sa neodpája) a teda môže byť trvale zapojený aj mimo DIP switchu. Potom sa dá tento uvoľnený štvrtý spínač použiť na pripájanie a odpájanie kapacity C18 podľa potreby. To že to takto nie je nakreslené už priamo v schéme - tu ma dúfam ospravedlní to, že schéma zapojenia sa postupne vyvíjala (a teda aj postupne kreslila a zase prekresľovala) a zo začiatku som nemal potuchy o tom že niekedy bude v schéme potrebná kapacita C18 ... a tak v schéme je to zakreslené tak ako to mám zapojené aj v skutočnosti. Fungovať budú obidve možnosti - aj nakreslená a aj tu v poznámke spomenutá. Pretože išla už von schéma a aj v programe je zapojenie zahrnuté tak som to už neriešil, len chcem upozorniť že sa to dá riešiť aj inak - akurát potom nebude platiť tabuľka zapojenia pre DIP switch, ale s tým si skúsenejší poradia.

Než vznikla uverejnená konečná schéma zapojenia TOPP programátora tak som ju nakoniec prekresľoval 11x ... tvrdá daň za postupný vývoj TOPP zariadenia.

________________________________________________________

Nasleduje zoznam súčiastok - BOM:

1x power supply 12V/DC/1A
1x universal double-sided printed circuit board 90x150mm
1x connector Cannon 9pin - male
1x flat multi-core cable (9x), max. cca 30cm (1 feet)
1x connector socket 2x5 pin
1x plug connector 2x5 pin
1x switch 12V/DC/On/Off
1x DIP relay EDR201A1200 (reed relay 12V/1000 Ohm/1A)
1x DIP socket, 16pin
1x DIP switch 4x
1x precision socket, 14 pin
4x precision socket, 16 pin
2x ZIF socket (Zero Insertion Force), 16pin
1x connector 12V/DC
JU1 - jumper 2pin
JU2 - jumper 3 pin
C1 - 220uF/16V
C2, C3, C4, C5, C6, C7, C13, C14, C17 - ceramics 100nF
C12 - "blue" ceramics 100nF ±5%
C8, C9, C10, C11, C15 - 22uF/16v (min. 10uF/16V, ideal tantal)
C16 - tantal min. 47uF/10V (100uF)
C18 - 20nF (2x10nF) - only for Atari 600XL/64kB RAM and 800XL !
RF1 - resistor array, 8x 47k (or separate resistors)
RF2 - resistor array, 8x 3k9 (or separate resistors)
RF3 - resistor array, 4x 4k7 (or separate resistors)
R1, R4, R9 - 1k2
R2, R10 - 22k
R3 - 360Ω  (or 2x 180Ω)
R5, R8 - 4k7
R6, R11 - 1k8
R7 - 39k
R6, R11 - 1k8
D1, D2, D3 - diode 1N4007 (1N4xxx)
D4 - diode SB260 (SB360,1N5819) Schottky
D5 - diode 1N4148
ZD - Zener diode 5.6V - BZX55/C5V6
LED1 - green, 5mm, 2mA type
LED2 - blue, 5mm, 2mA type
LED3 - red, 5mm, 2mA type
LED4 - orange (or yellow), 5mm, 2mA type
T1, T2, T3, T4, T5, T6, T7, T8 - transistor BS170
T9 - transistor BC547 (BC546, 2N2222, 2N3904) h21e>300
T11, T12 - transistor BC547 (BC546, 2N2222, 2N3904)
T10 - transistor BD140, h21e>110    
IC1 - TTL 74LS14
IC2, IC3, IC4 - CMOS 4094
IC5 - CMOS 4021
IC6 - LM7805, positive 5V voltage regulator

____________________


Detailnejší pohľad na kompletne funkčnú dosku TOPP. Je tu použitá iná doštička pre DIP spínač, rezostorové pole RF3 sa nachádza priamo pod týmto novým DIP spínačom, nezaberá tak dodatočné miesto na doske - ak by bolo treba jednoducho sa vymení za pôvodný DIP spínač ktorý je obrátený smerom nahor a stále to bude plne funkčné.


Druhý  typ DIP switchu osadený na zadnej strane dosky programátoru.

___________________________________________________________

V ďalšej časti bude k dispozícii základné programové vybavenie verzie 1.0 ako atr súbor pre disketovú jednotku alebo jej súčasnú náhradu.

___________________________________________________________

Prvá časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Part1.

Druhá časť:

Práve ju sledujete ...

Tretia časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.0. Part3.

Š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.

Desiata časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software update. Part10.

Jedenásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.4. Part11.

Dvanásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.5. Part12.

Trinásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.6. Part13.

Štrnásta časť:

TOPP - software P188_46C_Vigi_MyDOS - SH. Part14.

Pätnásta časť:

TOPP - software P188_46F_Vigi_SpartaDOS - aka SH. Part15.

Šestnásta časť:

TOPP - Tesla Old PROM Programmer - Diagnostic disk HWT 2.0. Part16.

Sedemnásta časť:

TOPP - Tesla Old PROM Programmer - all program version. Part17.

___________________________________________________________

Vaše hodnotenie, Rate post:

02_2025 Blog, Notes.

By Administrator at February 19, 2025 11:37
Filed Under: Blog

18.02.2025

Tak sa konečne podarilo do dotiahnuť do víťazného konca to, čo som už dlho chystal. V spolupráci zo Stanom Havranom (aka SH) sme dokončili programátor pre staré TESLA PROM pamäte ktorým sa programujú na malých 8-bit počítačoch Atari.

Teraz už len postupne začať veci k nemu postupne uverejňovať ...

 __________________________________________________

19.02.2025

Prvá časť - TOPP - Tesla Old PROM Programmer pre Atari:


TOPP - Tesla Old PROM Programmer for Atari 8bit. Part1.

23.02.2023

Druhá časť - TOPP - Tesla Old PROM Programmer pre Atari - hardware:


TOPP - Tesla Old PROM Programmer for Atari 8bit. Hardware. Part2.

27.02.2025

Tretia časť - TOPP -Tesla Old PROM Programmer pre Atari - software:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.0. Part3.

______________________________________________________

Vaše hodnotenie, Rate post:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Part1.

By Administrator at February 19, 2025 11:00
Filed Under: Atari

Dnes je to úvod do danej problematiky ktorý nakoniec vyústi do kompletného programátoru TOPP spolu aj s potrebným programovým vybavením (ktoré sa postupne vyvíja). Programátor je určený pre 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, A1200 nevlastním. Tesla PROM pamäte sú aj dnes dostupné a teda nie je problém ak ich chceme nasadiť - teda ak máme do nich potrebný obsah a máme aj potrebný programátor.

 

TOPP - Tesla Old PROM Programmer  pre Atari 8bit.

Tu je pri oživovaní použité iné osadenie DIP switchu = ľahšia manipulácia počas oživovania.

 

Programátor umožňuje naprogramovať staré Tesla PROM pamäte na 8-bitových počítačoch Atari 600XL, 800XLF, 65XE, 130XE, 800XE, XEGS, pripojenie programátoru na počítač prebieha prostredníctvom joystickového portu č.2. Pre svoju prácu vyžaduje pripojiť externý zdroj napájania 12V/DC/1A, z neho sú taktiež napájané obvody samotného programátoru. Asi sa ešte oplatí zdôrazniť že programátor funguje na neupravených počítačoch, t.j. nevyžaduje sa do nich žiaden zásah. Uvedené PROM pamäte sú stále bez problémov dostupné a teda dajú sa použiť do starých zariadení kde sa s ich pomocou (a zo správnym obsahom) obnoví pôvodná funkcia, alebo poslúžia ako dekodéry pre rozličné použitie  a to aj v dnešnej dobe. Tu ešte zdôrazním že sa jedná o jednorázovo programovateľné pamäte, t.j. ich obsah nie je možné spätne vymazať, preto je potrebné dobre si rozmyslieť aké údaje do nich chceme natrvalo uložiť.

 

Programátor pracuje celkove s 5 druhmi TESLA PROM pamäťami:

 
   typ               organizácia      možnosti

   pamäte:       pamäte:           programovania:

____________________________________


- 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

 

( Typy 74S187 a 74S370 majú svoj obsah vždy továrensky napálený, teda technicky vzaté sa jedná už o ROM pamäte - preto je povolené iba ich čítanie.)


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. Program nikdy nespúšťajte ak máte v joyporte č.2 pripojený joystick ! - mohlo by prísť k poškodeniu čipu 6520 ak by ste stlačili niektoré tlačítko na joysticku !

 

Ako to začalo:

Pred nejakým časom som si povedal (dosť dlho mi to totiž vŕtalo v hlave):


"Mám postavený programátor pre PROM 74188 ktorý funguje na malom SBC6502 - nebolo by načase po tých dlhých rokoch mať k dispozícii konečne programátor na TESLA OLD PROM pamäte aj na malom 8-bitovom Atari ?" a teda vyvstal aj nový, základný dodatok:
"A nemalo to by to vedieť aj niečo viac ako programátor na SBC6502 ?"

(Myslím tým možnosť pracovať s viacerými typmi PROM, to by som už realizoval na SBC6502 dosť ťažko, tam chýba možnosť priameho ukladania binárky, ide to len cez Data riadky, nie je tam žiadna možnosť OPEN canal no. atď., je tu možnosť omnoho komfortnejšieho ovládania programového vybavenia oproti SBC6502.)
Jasnačka, malo - a hlavne aby to vedelo programovať aj ďalšie typy a to s väčším obsahom. Výhody sú jasné, máme tu k dispozícii médium na ukladanie dát, máme výborný jazyk na napísanie programového vybavenia - Turbo Basic (TB) - zostávalo sa len rozhodnúť ako bude prebiehať komunikácia zo samotným programátorom.

 

 

Najprv som samozrejme pátral na webe či už ma niekto v tomto smere nepredbehol zo svojím riešením pre 8bit Atari - ale ako sa ukázalo a ako som aj predpokladal - kde nič tu nič, na 40-ročný počítač sa záujemcovia do tvorby hw a sw pre programovanie TESLA PROM pamätí akosi nehrnú. Takže bolo treba vymyslieť zapojenie hw a urobiť vlastný programátor a samozrejme následne k nemu aj napísať potrebné programové vybavenie - program by mal byť komunikovať s okolím cez "okienka".

 
Máme dve možnosti ako pripojiť samotný programátor k počítaču:

1.- použiť zadný paralelný port zbernice (PBI), nevýhodou by bolo že programátor by potom fungoval iba s počítačmi rady XL, toto by sa dalo obísť použitím slotu pre cartridge, lenže mne sa sa akosi nikdy nepozdávalo aby trčala z vrchu počítača kabeláž smerom dozadu ... (teda pre typ XL, pre XE by to bolo v pohode)

2.- ísť sériovo cez joyport, potom by to (teoreticky) malo fungovať zo všetkými XL, XE a XEGS

  (nakoniec sa ukázalo že táto voľba bola naozaj hodne, hodne tŕnistá cesta ku konečnému cieľu)

 

Výhodou prvého riešenia je o niečo väčšia hw jednoduchosť zapojenia, ale lákala ma možnosť vyskúšať si zapojenie kde prevládajú CMOS čipy rady 4000, pôvodne to malo byť celé postavené iba na nich, ale nakonec sa ukázalo že tu bolo potrebné ešte nasadiť aj starý dobrý TTL Schmittov obvod v podaní čipu 74LS14 čo bolo to posledné čo ešte v zapojení chýbalo aby to fungovalo na jednotku.

(K podrobnostiam na túto tému sa dostanem v časti o vlastnej stavbe a následnom oživovaní zariadenia.)


Voľba teda nakoniec padla na použitie komunikácie pomocou joyportu č.2 - niektoré základné časti hw boli prevzaté už ako odskúšané z programátoru PROM 74188 pre počítač SBC6502, preto som ich využil aj v tomto zapojení takže tu už do úplných podrobností zabiehať nebudem.

 

Pri vývoji boli nakoniec postavené 3 dosky programátoru - všetky zapojenia boli zrealizované na univerzálnych doskách plošného spoja - záverom pri testoch fungovali dobre všetky, takže z hľadiska možnej reprodukovateľnosti zapojenia to vyzerá naozaj dobre.

 

Druhý prototyp zapojenia TOPP, táto verzia bude uverejnená v 2.pokračovaní.


Ale poďme ďalej ...

Pred časom som najprv začal písať program pre spomínanú paralelnú PBI zbernicu (bol som už v začiatočnom štádiu rozloženia súčiastok na doske, pätice už boli v doske zapájkované), základný program som aj napísal pre túto verziu (mali tam byť nasadené čipy 74LS00, 8255A, 4040 + ostatné bižu), ale jedno stretnutie zo Stanom Havranom (aka SH) pred časom to zmenilo.
Sadli sme si spolu a postupne sa začali objavovať výsledky, SH napísal parádnu rutinu pre sériovú komunikáciu cez joyport2 a to nakoniec rozhodlo. Síce sériová komunikácia je z hľadiska použitia výsledného hw na doske programátoru o niečo zložitejšia, ale myslím si že je dostatočne prehľadná a ľahko sa tu dá zorientovať.
Len veľmi mierne som na začiatku tušil že prerobiť fakticky hotový software na verziu ktorá bude sériovo komunikovať bude taký "masaker" (nie preto že by bola tá sériová komunikácia nejaká obtiažna z hľadiska používania, ale preto že bola snaha dostať tam toho čo najviac a popritom jednotlivé rozdielne typy počítačov odolávali naozaj s neskutočným odhodlaním) ale nakoniec po dlhých týždňoch (boli to nakoniec skutočne mesiace ...) sme predsa len vytrvali a dotiahli to do konca. A že tých problémov vďaka rozdielom jednotlivých typov bolo neúrekom, ale nevzdali sme to a máme riešenie ktoré by malo spoľahlivo chodiť na spomenutých typoch 8bitových Atari. Lenže na to aby to "išlo" na všetkých spomenutých typoch bolo treba dodatočne nasadiť jeden štvormiestny DIP switch a nakoniec taktiež aj jeden trojradový jumper a taktiež čip 74LS14 - inak by to nebolo univerzálne pre všetky popísané typy Atari počítačov. Zverejnené riešenie umožňuje chod TOPP programátoru na uvedených typoch bez toho aby bolo potrebné robiť zásahy dovnútra počítača.
(Ako som už spomenul - tých zmien bolo nakoniec veľmi veľa - a aj to dlho trvalo.)

 

Programátor bol otestovaný ako funkčný na nasledujúcich počítačoch:

Atari 600XL/64kB RAM (2x)

Atari 800XL                     (3x)

Atari 800XLF                   (1x)

Atari 65XE                       (1x)

Atari 130XE                     (2x)

Atari 800XE                     (2x)

Atari 320XE                     (2x) /800XE+256kB RAM

Atari XEGS - neotestované, nemám k dispozícii, ale vzhľadom na vnútorné osadenie ako pri rade XE by mal fungovať taktiež, počítač A1200 nevlastním.

Tu asi musím zdôrazniť že všetky tieto počítače bežali v norme PAL, počítače v norme NTSC nemám otestované (nemám k dispozícii, ich funkčnosť som otestoval iba v emulátore), ale predpokladám že budú fungovať taktiež. Pre správnu funkčnosť TOPP je potrebné sa riadiť tabuľkou pre nastavenie DIP prepínačov a JU2 jednotlivé typy počítačov.

 

V programátore sú použité 2x ZIF (Zero Insercion Force) pätice - jedna je pre PROM 74188 a druhá pre ostatné

typy - 74S187, 74S287, 74S370 a 74S571.


Pozor, zmena !!!

Celé programové vybavenie bolo napísané v jazyku Turbo Basic, tu oproti pôvodnému plánu nastala zmena - rozhodol som sa programové vybavenie nakoniec neskompilovať - i keď nejakú tú ochranu pred priamym vylistovaním v programe predsa len ponechávam. Som si vedomý že každý program sa dá časom "nabúrať", ale pre prácu s TOPP programátorom stačí program používať a nie ho pitvať ...


Vzhľadom k tomu že práve máme 40 výročie uvedenia jazyku Turbo Basic do obehu tak to je z mojej strany taká malá pocta a hold geniálnemu programátorovi a autorovi TB menom Frank Ostrowski - ktorý ale už dlhšie bohužiaľ nie je medzi nami.
(V poslednom období niekoľkých rokov som sa venoval malým SBC s iným jazykom Basic a tak som si teraz zase "pričuchol" k jazyku Turbo Basic a neprestávam sa diviť čo všetko Frank dokázal "natlačiť" do svojej verzie TB, je to neuveriteľné ...)

 

Programové vybavenie pracuje pod DOS 2.5 (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. 128kByte. Program neumožňuje prácu s kazetovým magnetofónom (teda zo zariadením C:), jednoznačne ráta pre prácu iba s disketovou jednotkou (alebo jej dnešnými, modernými náhradami) - toto je moje rozhodnutie - tak ho prosím prijmite.

 

Dodatok:

Snahou je (a bude) mať všetko priamo v jednom programe aby po jeho spustení bolo možné vymeniť disketu za nové, samostatné médium pre PROM data a teda netreba aby bola stále založená systémová disketa. Jedna verzia (2.1) z radu vybočuje, pretože má na sebe dodatkový software - HW tester ktorý ide spustiť samostatne. Všetky ostatné verzie dodržujú úzus stanovený v prvej vete.

 

No, na dnes základných informácií  už stačí, v ďalšej časti bude nasledovať schéma zapojenia programátora a zoznam použitých súčiastok - BOM.

___________________________________________________________

Prvá časť:

Tú práve sledujete ...

Druhá časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Hardware. Part2.

Tretia časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.0. Part3.

Š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.

Desiata časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software update. Part10.

Jedenásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.4. Part11.

Dvanásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.5. Part12.

Trinásta časť:

TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.6. Part13.

Štrnásta časť:

TOPP - software P188_46C_Vigi_MyDOS - SH. Part14.

Pätnásta časť:

TOPP - software P188_46F_Vigi_SpartaDOS - aka SH. Part15.

Šestnásta časť:

TOPP - Tesla Old PROM Programmer - Diagnostic disk HWT 2.0. Part16.

Sedemnásta časť:

TOPP - Tesla Old PROM Programmer - all program version. Part17.

___________________________________________________________

Vaše hodnotenie, Rate post:

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi.

Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: