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.

 

Programátor pracuje celkove 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

( Typy 74S187 a 74S370 majú svoj obsah továrensky napálený, teda technicky vzaté sa jedná o ROM pamäte.)


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 programátor pre PROM 74188 ktorý funguje na malom SBC6502 - či by nebolo po tých rokoch načase 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 atď.)
Jasnačka, malo - a hlavne aby to vedelo aj ďalšie typy 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 akosi nehrnú. Takže bolo treba vymyslieť a urobiť vlastný programátor a samozrejme následne k nemu aj napísať potrebné programové vybavenie - ovládanie programu by malo byť už sčasti cez "okienka".

 
Sú dve možnosti ako pripojiť 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 už 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 toto 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 boli urobené na univerzálnych doskách, záverom pri testoch fungovali všetky, takže z hľadiska reprodukovateľnosti to aj pri postavení na univerzálke vyzerá naozaj dobre.

 

Druhý prototyp TOPP, táto verzia (aj schéma zapojenia) 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 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ť aj jeden štvormiestny DIP switch a nakoniec taktiež aj jeden trojradový jumper - inak by to nebolo univerzálne. Toto riešenie umožnilo chod 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), ale predpokladám že budú fungovať taktiež.

 

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 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 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 stačí, v ďalšej časti bude nasledovať schéma zapojenia programátoru 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: