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 joyportoch č.1 a č.2 pripojený joystick ! - mohlo by prísť k poškodeniu čipu 6520 ak by ste stlačili niektoré tlačítko na joysticku !
Ako to celé vlastne 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 SBC6502 - nebolo by načase po tých dlhých rokoch mať konečne k dispozícii 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ď., naproti tomu tu je možnosť omnoho komfortnejšieho ovládania programového vybavenia oproti SBC6502 a taktiež je možmé ukladanie výsledných dát priamo do súboru.)
Jasnačka, malo - a hlavne aby to vedelo programovať aj ďalšie väčšie typy PROM, teda 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) ktorý umožňuje štruktúrované programovanie (i keď tu sa priznám mám v tejto oblasti občas väčšie medzery ako by sa patrilo) - 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 takéhoto programátoru 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 prekvapivo nehrnú. Takže bolo treba vymyslieť zapojenie samotného hw a urobiť a postaviť vlastný programátor a samozrejme následne k nemu aj napísať potrebné programové vybavenie - program by mal byť komunikovať s okolím pokiaľ možno hlavne 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ýhoda je tá ž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 akosi nikdy nepozdávalo aby trčala z vrchnej časti počítača kabeláž smerom dozadu ... (teda pre typ XL, pre XE by to bolo v pohode)
2.- ísť s dátami 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é 3x dosky TOPP programátora - 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 programátora 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 z kolegom Stanom Havranom (aka SH) pred časom to zmenilo. Pôvodne som počítal s tým že adresy sa budú načítať z čítača 4040 čím by som ušetril adresy ktoré by inak museli byť adresované portami z 8255A, ale ako vidieť nakoniec som od tejto cesty upustil.
Sadli sme si spolu (a bolo to viackrát za sebou) 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 postupne čo najviac a popritom jednotlivé rozdielne typy počítačov sprevádzkovaniu odolávali naozaj s neskutočným odhodlaním) ale nakoniec po dlhých týždňoch (boli to nakoniec mesiace ...) sme predsa len vytrvali a dotiahli to zdárne 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-te 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 nepracuje 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 tohto radu vybočuje, pretože má na sebe dodatkový software - HW tester ktorý sa dá spustiť samostatne. Všetky ostatné verzie dodržujú úzus stanovený v predchádzajúcej vete.
No, na dnes základných informácií myslím si už stačí, v ďalšej časti bude nasledovať schéma zapojenia programátora a tak isto aj 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.
Osemnásta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.7R8 - MyDOS 4.53/4. Part18.
Devätnásta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.7R9 - MyDOS 4.53/4. Part19.
Dvadsiata časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.3.0 - MyDOS 4.53/4. Part20.
___________________________________________________________

Vaše hodnotenie, Rate post: