PBI externý dekodér D5xxh - !CCTL. Atari 800XL.

By Administrator at novembra 21, 2023 09:30
Filed Under: Atari

Ak potrebujete pripojiť čip 8255 (8255A) k malému Atari tak existuje viacero možností.

 

Najprv nasleduje odkaz na pôvodné zapojenie ktoré som uverejnil pre pripojenie 8255(A) cez slot pre cartridge a je tam aj verzia ktorá ráta zo zabudovaním interface priamo do Atari:

http://blog.3b2.sk/igi/post/ATARI-interface-8255.aspx

(toto by nás malo priviesť do danej problematiky).

 

Dnes si pozrieme pripojenie cez PBI port, t.j. cez zadný konektor počítača Atari 800XL (U počítačov Atari 800XE a Atari 130XE je to iné - vďaka inej konštrukcii je tam signál !CCTL priamo už k dispozícii).


Základný rozdiel je v tom, že v slote pre cartridge máme už priamo potrebný signál !CCTL t.j. kde sa adresuje priestor D5xxh, toto na zadnom PBI konektore nemáme - a preto si tento signál potrebujeme nanovo "vyrobiť". (!=aktívne v nule)

Ak potrebujeme vytvoriť adresáciu uvedeného priestoru na externom výstupe PBI zbernice tak je tu jedno pekné zapojenie ktoré bolo pred časom uverejnené na poľských Atari stránkach:


PBI dekodér D1xx  a D5xx - !CCTL, ostatná adresácia viď ďalší text.

Zapojenie prevzaté z:  www.atari.org.pl



Ako vidieť potrebujeme na to použiť 2 čipy - 74HCT00 (74LS00) a 74HCT138 (74LS138). Na obrázku sú použité čipy HCT, ale v tomto zapojení to funguje aj s čipmi uvedenými v zátvorke, HCT rada je rýchlejšia, iný rozdiel tam nie je - v dnešnej dobe skôr zoženiete HCT čipy ako LS radu - záleží na tom čo máte doma k dispozícii. (Označenie čipov ako U1 a U3 je prevzaté.) Na dekódovanie je použitých 8 horných adresných vodičov - A15÷A8, čip 74xx00 robí pomocnú logiku pre dekodér. Už len dodám klasiku - nezabudnite ku každému čipu pridať keramiku 100nF na filtráciu jeho napájania, je to dôležité pre správnu činnosť obvodov.

Pozor - pre plnú súčinnosť s obvodom 8255A ešte treba použiť ďalší t.j. tretí čip, napríklad veľmi známe zapojenie 74LS00 ktorý príslušne upraví signály RD a WR. Zapojenie s čipom 74LS00 je uverejnené v odkaze na začiatku tohoto článku, využíva tri hradlá zo štyroch (prvý obrázok v odkaze, štvrté hradlo slúži ako invertor pre signál RESET (druhý obrázok v odkaze).

Ak sa pozriete bližšie na zapojenie tak tu máme k dispozícii dekódovanie v rozsahoch:


D000h
÷D0FFh
D100h
÷D1FFh
D200h
÷D2FFh
D300h
÷D3FFh
D400h
÷D4FFh
D500h
÷D5FFh  /!CCTL
D600h
÷D6FFh
D700h
÷D7FFh


t.j. adresácia "ide" pekne po násobkoch 256byte.


Niektoré tu uvedené adresy používa systém a tak nám "zostáva" voľný rozsah na použitie iba D100
÷D1FFh a D500÷D5FFh (toto je !CCTL). Tieto dva rozsahy by mali postačovať na naše experimenty.


Tu len dodatok - rozsah D100÷D1FFh používa Atari 1090, ale to asi v našich končinách nie je rozšírené, takže toto by nás nemalo pri našom použití nejako zásadne obmedziť. Dtto sa týka D600÷D6FFh a D700÷D7FFh.


PBI mapovanie na D1xx.

Adresný priestor CPU od D600H do D7FFH je vyhradený pre zariadenia EBI nasledovne:
Veľkosť rozsahu zariadenia:
------ ----- ----
D0 D600H-D61FH 32 byte
D1 D620H-D63FH 32 byte
D2 D640H-D65FH 32 byte
D3 D660H-D67FH 32 byte
D4 D680H-D69FH 32 byte
D5 D6A0H-D6BFH 32 byte
D6 D6C0H-D6DFH 32 byte
D7 D6E0H-D6FFHRI  

Región D6E0H-D6FFH 3 je vyhradený pre D6FF07 pre použitie od 3 do D6FFH. Adresný priestor CPU od D600H do D7FFH je vždy mapovaný na EBI anevyžaduje protokol EXTENB/EXTSEL'.

 

Takže - môžeme používať rozsahy D600÷D6FFh a D700÷D7FFh - len tu pozor, tieto priestory už využíva operačný systém QMEG a ak ich použijeme vtedy musíme mať prepnuté na pôvodný operačný systém - takže ak sa dá, radšej sa tomuto pamäťovému priestoru na osobné použitie vyhýbajte.

 

Táto adresácia sa dá vytvoriť aj inak, ale o tom zase niekedy inokedy - záleží to na tom či potrebné veci zoženiem, pretože by som to rád postavil (písať o niečom čo nemám ma až tak nebaví) a potom by som o tom napísal zase pár riadkov.

_____________________________________________________

Dodatok:

Uvedené zapojenie samozrejme priamo funguje aj na Atari 600XL.

(Na Atari 600XL je na PBI zbernici priamo vyvedené aj napájanie 5V.)

_____________________________________________________

Vaše hodnotenie, Rate post:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Doplnky. Part5.

By Administrator at novembra 15, 2023 11:33
Filed Under: Non-Atari

Môj "vozový" park programátorov od firmy ELNEC sa pomaly ale isto rozrastá. Mimo toho že mi pribudol ďalší programátor PREPROM_02aLV tak mám k dispozícii k nemu aj ďalšie veci (moduly) čo som doteraz nemal. Cena sa mi zdala primeraná a tak som do toho šiel. Dnes to bude taká malá malá obrazová galéria.

 

Programátory PREPROM-02aLV, môj starší kus je vľavo, napravo je ten "novší".

Je v o "chlp"v lepšom stave ako ten prvý, fungujú obidva.


Programátor PREPROM-02aLV, starší kus. Tu je bočnica ešte rovnakej farby ako

vrchný kryt.


Programátor PREPROM-02aLV, starší kus.


Programátor PREPROM-02aLV, "novší" kus.

Ako vidieť - zmenila sa farba bočníc spodného dielu.


Programátor PREPROM-02aLV, "novší" kus. 


A mám ďalší napájací zdroj pre programátory rady PREPROM-02(aLV).

Jedná sa o nestabilizovaný zdroj, naprázdno dodáva na výstupe 17.12V/DC.


Modul prevodu 28 pin DIL↔PLCC 32pin.


Modul prevodu 32 pin DIL↔PLCC 32pin.

 

Nejaký ten pokec na danú tému a to priamo od fy. Elnec:

Konvertor DIL_PLCC.pdf (1,31 mb)


Nasleduje diagnostic POD type I - ten som už popísal v 1.časti. Pôvodne som ho chcel postaviť - aby som ho mal taktiež vo svojej zbierke, ale prv ako som sa k stavbe "rozhýbal" tak som funkčný POD získal ... rozhodne ma to potešilo - a ušetrilo mi to jeho stavbu.


Diagnostic POD type I - spodná strana.


Modul 2051 pre programovanie mikroprocesorov rady 89C2051, presnejšie 89C1051, 89C2051 a 89C4051. Takže ak ich chcete naprogramovať - tak na ne treba mať k dispozícii ďalší, samostatný extra modul ...


Modul 2051, spodná strana.

 

Modul MCU1-LV, je známy aj pod iným názvom "modul PIC-LV" - programuje všetky

MICROCHIP PIC, od 8÷40 pinov, rodina 12Cxxx, 14Cxxx a 16Cxxx.


MCU1-LV modul, spodná strana.

 

Originálnu príručku som už neskenoval (tá moja má rok vydania 2002), je k dispozícii v 1.časti (pdf súbor) tak to tu nebudem dupľovať. Začínam mať v poslednej dobe taký pocit že som na prácu zo staršími Eprom pamäťami už celkom dobre zabezpečený ...

_____________________________________________________________

Vaše hodnotenie, Rate post:

The Micro UK101 - COMPUKIT UK101, basic program - Battleship. Part-7.

By Administrator at novembra 11, 2023 09:18
Filed Under: SBC8085-NCB85

Je už urobená hra Battleship SBC6502 pre SBC6502 a urobil som konverziu tejto hry aj pre SBC6809 - Battleship SBC6809 - tak som si povedal treba urobiť konverziu hry aj pre Micro UK101. Tu som sa  už pokúsil dodržať zobrazenie ako pri SBC6809, generovanie RND je pritom rovnaké ako u SBC6502, ASCII znaky na začiatku nevie správne zobraziť taktiež, o zábavu bolo postarané - ale táto konverzia bola najľahšia. Čakacie slučky v programe sú urobené pre x-tal 4.000MHz, bez zmeny budú vyhovovať aj pre použitie x-talu  4.9152MHz.

 

Úvodná obrazovka.


Tiež sa tu počíta s tým že na Micro UK101 že je dostupná RAM o veľkosti 32kB, je to dané pevnými adresami pre dvojrozmerné pole. U týchto malých SBC je 32kB RAM nepísaným štandartom takže tu nemáme  problém s veľkosťou RAM.


Vzhľad hracieho poľa je identický ako u SBC6809.

S_battle_4_000MHz_UK101.txt (5,23 kb)


Takže teraz sú urobené 3 verzie tej istej hry - a to pre SBC6502, SBC6809 a Micro UK101, Basic je na všetkých troch spomenutých SBC ale mierne odlišný a tak boli potrebné drobné úpravy vždy pre konkrétny typ. Čo mierne prekvapuje je to, že SBC6502 a Micro UK101 používajú rovnakú verziu Basic-u a pritom nie sú na 100% kompatibilné, ale napriek tomu hra teraz funguje bez problémov na všetkých spomenutých troch typoch SBC.

 

Micro UK101

____________________________________________________________

Listing programe pre Micro UK101:

 

 1000 CLEAR:POKE 15,80:? CHR$(12):?:A=31000:B=124:REM 05.11.2023
 1160 ?:?:? TAB(24)"- Micro UK101 - Battleships game -"
 1170 ? TAB(22);"by Igi(c)2023 - http://blog.3b2.sk/igi";
 1172 GOSUB 9999
 1200 ? CHR$(12):GOSUB 2500:GOSUB 2700
 1400 ?:? CHR$(12);
 1410 ? TAB(5)"+- 20 battleships in this game,you have to destroy";
 1415 ? " at least 14 ships -+"
 1417 ? TAB(4)"+-------------+--";
 1420 ? "+....X....1111111111222222222233333333334";
 1422 ? "+-----------+"
 1425 ? TAB(18)"+Y +1234567890123456789012345678901234567890+"
 1430 GOSUB 5100
 1700 A=31000:GOSUB 2900:A=31050:GOSUB 2900:A=31100:GOSUB 2900
 1706 A=31150:GOSUB 2900:A=31200:GOSUB 2900:A=31250:GOSUB 2900
 1714 A=31300:GOSUB 2900:A=31350:GOSUB 2900:A=31400:GOSUB 2900
 1720 A=31450:GOSUB 2900:A=31500:GOSUB 2900:A=31550:GOSUB 2900
 1726 A=31600:GOSUB 2900:A=31650:GOSUB 2900
 1800 GOSUB 5100
 1805 ? TAB(18)"+Score:";:IF SC<10 THEN ?" "SC;
 1820 IF SC=>10 THEN ? SC;
 1825 ? TAB(46)"Gun shots: "GS;
 1830 IF GS<10 THEN ? "  +"
 1835 IF GS=>10 AND GS <100 THEN ? " +"
 1840 IF GS=>100 THEN ? "+"
 1845 ? TAB(18)"+------------- X or Y=0 -> End -------------+"
 1850 IF SC=14 THEN 2940
 1880 ? TAB(28)"Your choice X (1-40)";:INPUT X
 1885 IF X=0 THEN 2950
 1890 IF X>40 THEN GOSUB 9988:GOTO 1400
 1900 ? TAB(28)"Your choice Y (1-14)";:INPUT Y
 1905 IF Y=0 THEN 2950
 1910 IF Y>14 THEN GOSUB 9988:GOTO 1400
 2000 T=31700:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2002 T=31702:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2004 T=31704:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2006 T=31706:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2008 T=31708:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2010 T=31710:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2012 T=31712:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2014 T=31714:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2016 T=31716:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2018 T=31718:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2020 T=31720:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2022 T=31722:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2024 T=31724:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2026 T=31726:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2028 T=31728:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2030 T=31730:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2032 T=31732:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2034 T=31734:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2036 T=31736:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2038 T=31738:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000  
 2050 GS=GS+1
 2055 IF X<>X1 OR Y<>Y1 THEN 4000
 2250 C=C+1:?C;:FOR F=A+4 TO A+43:POKE F,46:NEXT F:RETURN
 2500 GS=0:SC=0:C=0:?"I am generating a line no.:"
 2552 A=31000:GOSUB 2250
 2555 POKE A,B:POKE A+1,32:POKE A+2,49:POKE A+3,B:POKE A+44,B
 2560 A=31050:GOSUB 2250
 2562 POKE A,B:POKE A+1,32:POKE A+2,50:POKE A+3,B:POKE A+44,B
 2570 A=31100:GOSUB 2250
 2572 POKE A,B:POKE A+1,32:POKE A+2,51:POKE A+3,B:POKE A+44,B
 2580 A=31150:GOSUB 2250
 2582 POKE A,B:POKE A+1,32:POKE A+2,52:POKE A+3,B:POKE A+44,B
 2590 A=31200:GOSUB 2250
 2592 POKE A,B:POKE A+1,32:POKE A+2,53:POKE A+3,B:POKE A+44,B
 2600 A=31250:GOSUB 2250
 2602 POKE A,B:POKE A+1,32:POKE A+2,54:POKE A+3,B:POKE A+44,B
 2610 A=31300:GOSUB 2250
 2612 POKE A,B:POKE A+1,32:POKE A+2,55:POKE A+3,B:POKE A+44,B
 2620 A=31350:GOSUB 2250
 2622 POKE A,B:POKE A+1,32:POKE A+2,56:POKE A+3,B:POKE A+44,B
 2630 A=31400:GOSUB 2250
 2632 POKE A,B:POKE A+1,32:POKE A+2,57:POKE A+3,B:POKE A+44,B
 2640 A=31450:GOSUB 2250
 2642 POKE A,B:POKE A+1,49:POKE A+2,48:POKE A+3,B:POKE A+44,B
 2650 A=31500:GOSUB 2250
 2652 POKE A,B:POKE A+1,49:POKE A+2,49:POKE A+3,B:POKE A+44,B
 2660 A=31550:GOSUB 2250
 2662 POKE A,B:POKE A+1,49:POKE A+2,50:POKE A+3,B:POKE A+44,B
 2670 A=31600:GOSUB 2250
 2672 POKE A,B:POKE A+1,49:POKE A+2,51:POKE A+3,B:POKE A+44,B
 2680 A=31650:GOSUB 2250
 2682 POKE A,B:POKE A+1,49:POKE A+2,52:POKE A+3,B:POKE A+44,B
 2684 ?:RETURN
 2700 Q=31700:?:?"I am generating 20 battleships ..."
 2705 FOR I=1 TO 20
 2710 D=INT(RND(1)*14):D=D+1:POKE Q,D
 2720 E=INT(RND(1)*40):E=E+1:POKE Q+1,E
 2725 Q=Q+2:? I;:FOR R=0 TO 650:NEXT:NEXT:RETURN
 2800 Y1=PEEK(T):X1=PEEK(T+1):RETURN
 2900 ? TAB(18);:FOR F=A TO A+44:? CHR$(PEEK(F));:NEXT F:?
 2905 RETURN
 2940 ?TAB(16)"Congratulations! You destroyed the enemy's fleet."
 2945 GOTO 2955
 2950 ? CHR$(12)
 2955 ?:?TAB(28)"(N)ew game or (Q)uit:";:INPUT A$
 2960 IF A$="N" THEN 1200
 2965 IF A$="Q" THEN END
 2970 GOTO 2950
 3000 ?TAB(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=134:GOSUB 5000
 3080 GS=GS+1:GOTO 1400
 4000 ?TAB(36)"Miss !!!";:GOSUB 9998:OP=120:GOSUB 5000:GOTO 1400
 5000 IF Y=1 THEN POKE (31004+X-1),OP
 5010 IF Y=2 THEN POKE (31054+X-1),OP
 5015 IF Y=3 THEN POKE (31104+X-1),OP
 5025 IF Y=4 THEN POKE (31154+X-1),OP
 5030 IF Y=5 THEN POKE (31204+X-1),OP
 5035 IF Y=6 THEN POKE (31254+X-1),OP
 5040 IF Y=7 THEN POKE (31304+X-1),OP
 5045 IF Y=8 THEN POKE (31354+X-1),OP
 5050 IF Y=9 THEN POKE (31404+X-1),OP
 5055 IF Y=10 THEN POKE (31454+X-1),OP
 5060 IF Y=11 THEN POKE (31504+X-1),OP
 5065 IF Y=12 THEN POKE (31554+X-1),OP
 5070 IF Y=13 THEN POKE (31604+X-1),OP
 5075 IF Y=14 THEN POKE (31654+X-1),OP
 5080 RETURN
 5100 ? TAB(18)"+-------------------------------------------+"
 5102 RETURN
 9988 ?TAB(37)"Error ...";:GOSUB 9998:RETURN
 9998 FOR F=0 TO 6000:NEXT:RETURN
 9999 FOR F=0 TO 20000:NEXT:RETURN

____________________________________________________________

Upozornenie:


Zobrazenie krížiku platí pre nastavenie fontu v Hypertermináli, kedy je jeho okno zmenšené - písmo Lucida Console, veľkosť písma 8, osobne používam najradšej túto veľkosť Hyperterminálového okna:

 

 

Ak ponecháme základné nastavenie fontu čo je písmo Terminal, veľkosť písma 14:

 

 

tak musíme v programovom riadku číslo 3000 urobiť zmenu:

pôvodný text

 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=134:GOSUB 5000

nahradíme:

 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=127:GOSUB 5000

Čiže je tu zmena v premennej OP - po tejto zmene sa zobrazí namiesto krížiku pri zásahu lodička , ak sa zmena neprevedie bude sa zobrazovať iný, vzhľadom nie vhodný  znak. Toto samozrejme platí aj v opačnom garde. Je to dané tým, že uvedené dva fonty používajú mierne odlišnú znakovú sadu.

______________________________________________________

Vaše hodnotenie, Rate post:

SBC6809 - Basic game: Battleships. Part-10.

By Administrator at novembra 10, 2023 08:08
Filed Under: SBC8085-NCB85

Keď som napísal hru Battleship pre SBC6502 tak som si povedal - musí to priamo fungovať aj pre SBC6809. Chyba lávky, ako obyčajne ak si myslím že niečo bude hodne jednoduché tak som sa zase mýlil. Ako sa ukázalo - nedala sa hra napísaná pre SBC6502 priamo spustiť aj na SBC6809, niektoré ASCII znaky to z nejakých príčin čiastočne ignoruje a tak som musel urobiť čiastočnú prerábku /konverziu/ tejto hry - vďaka tomu tu "odpadla" úvodná ASCII obrazovka lode. Pri ďalšom som zistil že tiež generovanie RND vyžadovalo v sebe urobiť zmenu. Ďalšia vec - SBC6809 nepozná príkaz SPC(číslo), čiže som ho všade musel nahradiť príkazom TAB(číslo). Riadky v programe som chcel "zahustiť", boli by podstatne dlhšie ako pri SBC6502, pretože toto SBC6809 pri písaní programu dovoľuje, teda obsahy riadkov by boli extrémne dlhé, parádne to môže skrátiť zápis, na druhú stranu je to potom na úkor prehľadnosti, rozhodne sa to zle číta v terminálovom okne, takže som zostal pri pôvodnej dĺžke riadkov. Na druhú stranu - je tu len jedna verzia programu, pretože procesor 6809 beží na 1.8432MHz a teda tu nejaké zmeny clocku príliš nehrozia. Program naďalej ráta s 32kB RAM, je to dané umiestnením dvojrozmerného poľa v RAM.

No a čo dodať na záver? - teraz tomu síce chýba efektná úvodná obrazovka ale program funguje.


Jednoduchá úvodná obrazovka.

 

Aj hracie pole vďaka neschopnosti "tlačiť" niektoré znaky na obrazovku je pozmenené

a tedy prišlo k úprave vzhľadu hracej plochy.


Síce viem tam tie znaky dostať aj inakším spôsobom, ale bolo by to zbytočne zložité a tak som sa rozhodol hru nekomplikovať a vyriešil som to tak ako to je teraz. V hracom poli je to iné, tam sa zapisuje pomocou POKE priamo do RAM, tam to ide jednoduchšie a teda tam je problém na 100% vyriešený. Vyznať sa v tom dá - a hrať sa to dá tak isto. Môžem skonštatovať že teraz aj SBC6809 má funkčnú konverziu uvedenej hry.

S_battle_1_8432MHz_SBC6809.txt (5,23 kb)


SBC6809

______________________________________________________

12.11.2023

Pre tých ktorí majú radi dlhé riadky ktoré umožňuje zápis v  SBC6809 ... je tu hra uložená aj v tomto formáte, aspoň som to skúsil, funguje tak isto:

S_battle_1_8432MHz_SBC6809_long_rows.txt (4,95 kb)

(Pritom sa tu ani zďaleka nevyužíva plná dĺžka programového riadku - je to až 250 znakov.)

____________________________________________________________

Listing programu pre SBC6809:

 

 1000 CLEAR:POKE 15,80:? CHR$(12):?:A=31000:B=124:REM 05.11.2023
 1160 ?:?:? TAB(26)"- SBC6809 - Battleships game -"
 1170 ? TAB(22);"by Igi(c)2023 - http://blog.3b2.sk/igi";
 1172 GOSUB 9999
 1200 ? CHR$(12):GOSUB 2500:GOSUB 2700
 1400 ?:? CHR$(12);
 1410 ? TAB(5)"+- 20 battleships in this game,you have to destroy";
 1415 ? " at least 14 ships -+"
 1417 ? TAB(4)"+-------------+--";
 1420 ? "+....X....1111111111222222222233333333334";
 1422 ? "+-----------+"
 1425 ? TAB(18)"+Y +1234567890123456789012345678901234567890+"
 1430 GOSUB 5100
 1700 A=31000:GOSUB 2900:A=31050:GOSUB 2900:A=31100:GOSUB 2900
 1706 A=31150:GOSUB 2900:A=31200:GOSUB 2900:A=31250:GOSUB 2900
 1714 A=31300:GOSUB 2900:A=31350:GOSUB 2900:A=31400:GOSUB 2900
 1720 A=31450:GOSUB 2900:A=31500:GOSUB 2900:A=31550:GOSUB 2900
 1726 A=31600:GOSUB 2900:A=31650:GOSUB 2900
 1800 GOSUB 5100
 1805 ? TAB(18)"+Score:";:IF SC<10 THEN ?" "SC;
 1820 IF SC=>10 THEN ? SC;
 1825 ? TAB(17)"Gun shots: "GS;
 1830 IF GS<10 THEN ? "  +"
 1835 IF GS=>10 AND GS <100 THEN ? " +"
 1840 IF GS=>100 THEN ? "+"
 1845 ? TAB(18)"+------------- X or Y=0 -> End -------------+"
 1850 IF SC=14 THEN 2940
 1880 ? TAB(28)"Your choice X (1-40)";:INPUT X
 1885 IF X=0 THEN 2950
 1890 IF X>40 THEN GOSUB 9988:GOTO 1400
 1900 ? TAB(28)"Your choice Y (1-14)";:INPUT Y
 1905 IF Y=0 THEN 2950
 1910 IF Y>14 THEN GOSUB 9988:GOTO 1400
 2000 T=31700:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2002 T=31702:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2004 T=31704:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2006 T=31706:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2008 T=31708:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2010 T=31710:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2012 T=31712:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2014 T=31714:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2016 T=31716:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2018 T=31718:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2020 T=31720:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2022 T=31722:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2024 T=31724:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2026 T=31726:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2028 T=31728:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2030 T=31730:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2032 T=31732:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2034 T=31734:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2036 T=31736:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2038 T=31738:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000  
 2050 GS=GS+1
 2055 IF X<>X1 OR Y<>Y1 THEN 4000
 2250 C=C+1:?C;:FOR F=A+4 TO A+43:POKE F,46:NEXT F:RETURN
 2500 GS=0:SC=0:C=0:?"I am generating a line no.:"
 2552 A=31000:GOSUB 2250
 2555 POKE A,B:POKE A+1,32:POKE A+2,49:POKE A+3,B:POKE A+44,B
 2560 A=31050:GOSUB 2250
 2562 POKE A,B:POKE A+1,32:POKE A+2,50:POKE A+3,B:POKE A+44,B
 2570 A=31100:GOSUB 2250
 2572 POKE A,B:POKE A+1,32:POKE A+2,51:POKE A+3,B:POKE A+44,B
 2580 A=31150:GOSUB 2250
 2582 POKE A,B:POKE A+1,32:POKE A+2,52:POKE A+3,B:POKE A+44,B
 2590 A=31200:GOSUB 2250
 2592 POKE A,B:POKE A+1,32:POKE A+2,53:POKE A+3,B:POKE A+44,B
 2600 A=31250:GOSUB 2250
 2602 POKE A,B:POKE A+1,32:POKE A+2,54:POKE A+3,B:POKE A+44,B
 2610 A=31300:GOSUB 2250
 2612 POKE A,B:POKE A+1,32:POKE A+2,55:POKE A+3,B:POKE A+44,B
 2620 A=31350:GOSUB 2250
 2622 POKE A,B:POKE A+1,32:POKE A+2,56:POKE A+3,B:POKE A+44,B
 2630 A=31400:GOSUB 2250
 2632 POKE A,B:POKE A+1,32:POKE A+2,57:POKE A+3,B:POKE A+44,B
 2640 A=31450:GOSUB 2250
 2642 POKE A,B:POKE A+1,49:POKE A+2,48:POKE A+3,B:POKE A+44,B
 2650 A=31500:GOSUB 2250
 2652 POKE A,B:POKE A+1,49:POKE A+2,49:POKE A+3,B:POKE A+44,B
 2660 A=31550:GOSUB 2250
 2662 POKE A,B:POKE A+1,49:POKE A+2,50:POKE A+3,B:POKE A+44,B
 2670 A=31600:GOSUB 2250
 2672 POKE A,B:POKE A+1,49:POKE A+2,51:POKE A+3,B:POKE A+44,B
 2680 A=31650:GOSUB 2250
 2682 POKE A,B:POKE A+1,49:POKE A+2,52:POKE A+3,B:POKE A+44,B
 2684 ?:RETURN
 2700 Q=31700:?:?"I am generating 20 battleships ..."
 2705 FOR I=1 TO 20
 2710 D=INT(RND(0)*14):D=D+1:POKE Q,D
 2720 E=INT(RND(0)*40):E=E+1:POKE Q+1,E
 2725 Q=Q+2:? I;:FOR R=0 TO 300:NEXT:NEXT:RETURN
 2800 Y1=PEEK(T):X1=PEEK(T+1):RETURN
 2900 ? TAB(18);:FOR F=A TO A+44:? CHR$(PEEK(F));:NEXT F:?
 2905 RETURN
 2940 ?TAB(16)"Congratulations! You destroyed the enemy's fleet."
 2945 GOTO 2955
 2950 ? CHR$(12)
 2955 ?:?TAB(28)"(N)ew game or (Q)uit:";:INPUT A$
 2960 IF A$="N" THEN 1200
 2965 IF A$="Q" THEN END
 2970 GOTO 2950
 3000 ?TAB(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=134:GOSUB 5000
 3080 GS=GS+1:GOTO 1400
 4000 ?TAB(36)"Miss !!!";:GOSUB 9998:OP=120:GOSUB 5000:GOTO 1400
 5000 IF Y=1 THEN POKE (31004+X-1),OP
 5010 IF Y=2 THEN POKE (31054+X-1),OP
 5015 IF Y=3 THEN POKE (31104+X-1),OP
 5025 IF Y=4 THEN POKE (31154+X-1),OP
 5030 IF Y=5 THEN POKE (31204+X-1),OP
 5035 IF Y=6 THEN POKE (31254+X-1),OP
 5040 IF Y=7 THEN POKE (31304+X-1),OP
 5045 IF Y=8 THEN POKE (31354+X-1),OP
 5050 IF Y=9 THEN POKE (31404+X-1),OP
 5055 IF Y=10 THEN POKE (31454+X-1),OP
 5060 IF Y=11 THEN POKE (31504+X-1),OP
 5065 IF Y=12 THEN POKE (31554+X-1),OP
 5070 IF Y=13 THEN POKE (31604+X-1),OP
 5075 IF Y=14 THEN POKE (31654+X-1),OP
 5080 RETURN
 5100 ? TAB(18)"+-------------------------------------------+"
 5102 RETURN
 9988 ?TAB(37)"Error ...";:GOSUB 9998:RETURN
 9998 FOR F=0 TO 2255:NEXT:RETURN
 9999 FOR F=0 TO 7518:NEXT:RETURN

_____________________________________________________________

Upozornenie:


Zobrazenie krížiku platí pre nastavenie fontu v Hypertermináli, kedy je jeho okno zmenšené - písmo Lucida Console, veľkosť písma 8, osobne používam najradšej túto veľkosť Hyperterminálového okna:

 

 

Ak ponecháme základné nastavenie fontu čo je písmo Terminal, veľkosť písma 14:

 

 

tak musíme v programovom riadku číslo 3000 urobiť zmenu:

pôvodný text

 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=134:GOSUB 5000

nahradíme:

 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=127:GOSUB 5000

Čiže je tu zmena v premennej OP - po tejto zmene sa zobrazí namiesto krížiku pri zásahu lodička , ak sa zmena neprevedie bude sa zobrazovať iný, vzhľadom nie vhodný  znak. Toto samozrejme platí aj v opačnom garde. Je to dané tým, že uvedené dva fonty používajú mierne odlišnú znakovú sadu.

 

____________________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 68 - basic programs - "Battleships".

By Administrator at novembra 07, 2023 13:25
Filed Under: SBC6502

Tak na tento program som sa chystal dlho, veľmi dlho, úvodnú hlavičku som vyrobil v roku 2020, rozvrhol som nejaké schémy ako na to, časti programu som aj napísal  - ale stále to bolo akosi priveľmi komplikované a tak som to radšej založil do šuplíku a spalo to tam doteraz - a to ešte pred pár dňami. Teraz som vzal zo starého, rozrobeného a nedokončeného programu iba jeho pôvodnú hlavičku, kompletne všetko ostatné som urobil a napísal odznova - a to po novom, celkom inak, program je napísaný pre SBC6502 s 32kB RAM (dané pevnou lokáciou adries tieňovej obrazovky v RAM). Nemyslím že by tie pevne nastavené lokácie v RAM nejako vadili, tých 32kB RAM na takýchto SBC je dnes dá sa povedať už nepísaným štandartom. Chcel som vyskúšať ako na to viem ísť "po vlastnej osi", takže nemal som (ani som nehľadal) žiadnu inšpiráciu z podobnej hry - a teda použité riešenie je naozaj jedinečné a nie je okopírované. Možno by stálo za to tu vyskúšať použiť v programe príkaz DIM, tu som to ale nepoužil, rozhodol som sa vytvoriť si potrebné dvojrozmerné hráčske pole priamo vo voľnej RAM, pripadalo mi to zábavnejšie pri písaní programu (a vďaka tomu je program aj o poznanie kratší).


 

 

Čo ma viedlo k napísaniu tejto hry? Nuž mimo iného je to dané aj tým že hier čo sa hrajú v terminálovom okne v dnešnej dobe akosi niet - nakoniec výpis pri štarte samotného SBC6502 uvádza rok 1977 ... (letí to ...) a zatiaľ som len preberal a konvertoval nejaké hry, už bolo načase nadlapať svoju vlastnú jednoduchú hru. Program spolupracuje s programom Hyperterminál pod Win, iný terminálový program som na spoluprácu netestoval. Pre mazanie obrazovky je použitý typický terminálový príkaz ? CHR$(12) namiesto príkazu CLS ktorý MS BASIC pre SBC6502 nemá.

Je tu jedna vlastnosť ktorá sa nedá obísť - tu totiž nie je možné prepisovať veci po celej obrazovke a návrat pozície kurzoru je možný len o pár znakov - a to tiež len obmedzene a teda pri potrebnej zmene je potom potrebné prepisovať celú obrazovku. Vo výsledku to znamenalo urobiť si v RAM pamäti tieňovú obrazovku a zmeny prevádzať v nej a až keď je tam prevedená zmena tak následne zmazať displej a potom to celé naraz nanovo vypísať na obrazovku terminálu. Je to síce také škrabanie sa za uchom opačnou rukou - ale na lepší systém ako na to som doteraz neprišiel (kto vie lepšie riešene - sem s ním !). Urobil som jednoduchú hru Battleships, kde sa snažíte na ploche 40 x 14 štvorčekov nájsť umiestnenie jednotlivých lodí a teda snažíte sa túto bojovú flotilu postupne likvidovať.

 

Čisté hracie pole.

 

Program vytvorí spomenuté hracie pole a potom do neho náhodne vygeneruje rozmiestnenie 20 bojových lodí nášho protivníka, našou úlohou je nájsť ich lokáciu. Pre základné zničenie nepriateľskej flotily postačuje zlikvidovať minimálne 14 lodí, potom je ich bojaschopnosť úplne ochromená. Vzhľadom k tomu že je tu k dispozícii celkove 560 možných lokácií tak o dlhú zábavu je postarané - a to nemusíme pritom ani nájsť všetky lode protivníka. Na displeji zadávame údaje o lokácii v poradí - najprv treba zadať os X (1÷40) a potom os Y (1÷14), povolený rozsah týchto hodnôt program kontroluje. Ak použijete v zadaní X alebo Y hodnotu 0 = koniec programu.

 

 

Na tomto obrázku som nechal nájsť všetkých 14 potrebných lodí (ako priamo na to - tak túto fintu neuvádzam), pekne však vidieť že sa skutočne jedná vždy o náhodné rozmiestnenie lodí protivníka a teda situáciu pri ich hľadaní nám počítač rozhodne neuľahčuje. Pozícia zničenej lode je značená krížikom - , nepoužité pole pri našom poľovaní je vyznačené bodkou  . , program počíta celkové skóre, tak isto počíta počet potrebných striel na dosiahnutie uvedeného skóre.

 

Takto to vyzerá priamo v hre - vidíme zásahy - a tak isto ak trafíme vedľa - x

 

Obmedzujúcim prvkom je tu maximálne použiteľné vertikálne rozlíšenie (dané terminálovým oknom), je k dispozícii iba 22 riadkov a teda musím si vystačiť s tým čo je k dispozícii. Komunikačné riadky pod poľom majú k dispozícii 3 riadky z 22 a sú tu maximálne využité, to potom stanovilo aj maximálny počet riadkov v osi Y na 14.

 

Program mám v 2 verziách,

jedna je pre x-tal 1.8432MHz:

S_battle_1_8432MHz.txt (6,47 kb)

druhá je pre x-tal 4.9152MHz:

S_battle_4_9152MHz.txt (6,47 kb)

 

 

Záver:

Medzi nami - vedel by som to hracie pole roztiahnuť a zväčšiť trebárs aj na 78 x 18 štvorčekov (to by už bolo 1404 pozícií na hľadanie), otázka je iná - nemám pocit že by to potom ešte niekoho bavilo, aj tak je to teraz už hodne zložité, to je jediný dôvod prečo som nešiel do extrému. Hra má pokiaľ možno baviť, nie otráviť.

No a keď som toto dokončil /hru som napísal v priebehu 2 dní/ som si povedal: "Skús previesť konverziu tohoto programu pre SBC6809 a tiež pre Micro UK101 ..., nemal by to byť problém." - ale o tom ako to dopadlo zase už niekedy inokedy.

____________________________________________________________

Ukážka - listing programu pre SBC6502 a x-tal 1.8432MHz:

 

 1000 CLEAR:POKE 15,80:? CHR$(12):?:A=31000:B=124:REM 05.11.2023
 1030 ? SPC(12)"    _           _   _   _           _     _ "       
 1032 ? SPC(12)"   | |         | | | | | |         | |   (_)"     
 1034 ? SPC(12)"   | |__   __ _| |_| |_| | ___  ___| |__  _ _ __  ___"
 1036 ? SPC(12)"   | '_ \ / _` | __| __| |/ _ \/ __| '_ \| | '_ \/ __|"
 1038 ? SPC(12)"   | |_) | (_| | |_| |_| |  __/\__ \ | | | | |_) \__ \"
 1040 ? SPC(12)"   |_.__/ \__,_|\__|\__|_|\___||___/_| |_|_| .__/|___/"
 1042 ? SPC(12)"                                           | | SBC6502"
 1044 ? SPC(12)"                                           |_|"
 1046 ? SPC(12)"                                )_("
 1048 ? SPC(12)"                         ________|_ "        
 1050 ? SPC(12)"             ______     /==========|   ___/"
 1052 ? SPC(12)"____   _____   [\\\]___/___________|__[///]    __/"
 1054 ? SPC(12)"\ o \____[\\]__/__________________________\___[//]___"
 1056 ? SPC(12)" \   2311     |__O__O__||__O__O__||__O__O__||__O__O__|"
 1058 ? SPC(12)"  \                                                 /"
 1060 ? SPC(12)"";:FOR F=1 TO 55:?CHR$(126);:NEXT:GOSUB 9998
 1065 FOR H=1 TO 5:? CHR$(8);:NEXT:? CHR$(94);:GOSUB 9998
 1070 FOR H=1 TO 4:GOSUB 9970:NEXT:? CHR$(8)CHR$(126)
 1170 ? TAB(22);"by Igi(c)2023 - http://blog.3b2.sk/igi";
 1172 GOSUB 9999
 1200 ? CHR$(12):GOSUB 2500:GOSUB 2700
 1400 ?:? CHR$(12);
 1410 ? SPC(5)"+- 20 battleships in this game,you have to destroy";
 1415 ? " at least 14 ships -+"
 1417 ? SPC(5)"+----------+    ";
 1420 ? "|X        1111111111222222222233333333334 ";
 1422 ? " +----------+"
 1425 ? SPC(16)"+-+ Y|1234567890123456789012345678901234567890 -+"
 1430 GOSUB 5100
 1700 A=31000:GOSUB 2900:A=31050:GOSUB 2900:A=31100:GOSUB 2900
 1706 A=31150:GOSUB 2900:A=31200:GOSUB 2900:A=31250:GOSUB 2900
 1714 A=31300:GOSUB 2900:A=31350:GOSUB 2900:A=31400:GOSUB 2900
 1720 A=31450:GOSUB 2900:A=31500:GOSUB 2900:A=31550:GOSUB 2900
 1726 A=31600:GOSUB 2900:A=31650:GOSUB 2900
 1800 GOSUB 5100
 1805 ? SPC(18)"|Score:";:IF SC<10 THEN ?" "SC;
 1820 IF SC=>10 THEN ? SC;
 1825 ? SPC(17)"Gun shots: "GS;
 1830 IF GS<10 THEN ? "  |"
 1835 IF GS=>10 AND GS <100 THEN ? " |"
 1840 IF GS=>100 THEN ? "|"
 1845 ? SPC(18)"+------------- X or Y=0 -> End -------------+"
 1850 IF SC=14 THEN 2940
 1880 ? SPC(28)"Your choice X (1-40)";:INPUT X
 1885 IF X=0 THEN 2950
 1890 IF X>40 THEN GOSUB 9988:GOTO 1400
 1900 ? SPC(28)"Your choice Y (1-14)";:INPUT Y
 1905 IF Y=0 THEN 2950
 1910 IF Y>14 THEN GOSUB 9988:GOTO 1400
 2000 T=31700:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2002 T=31702:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2004 T=31704:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2006 T=31706:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2008 T=31708:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2010 T=31710:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2012 T=31712:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2014 T=31714:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2016 T=31716:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2018 T=31718:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2020 T=31720:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2022 T=31722:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2024 T=31724:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2026 T=31726:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2028 T=31728:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2030 T=31730:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2032 T=31732:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2034 T=31734:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2036 T=31736:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000
 2038 T=31738:GOSUB 2800:IF X=X1 AND Y=Y1 THEN 3000  
 2050 GS=GS+1
 2055 IF X<>X1 OR Y<>Y1 THEN 4000
 2250 C=C+1:?C;:FOR F=A+4 TO A+43:POKE F,46:NEXT F:RETURN
 2500 GS=0:SC=0:C=0:?"I am generating a line no.:"
 2552 A=31000:GOSUB 2250
 2555 POKE A,B:POKE A+1,32:POKE A+2,49:POKE A+3,B:POKE A+44,B
 2560 A=31050:GOSUB 2250
 2562 POKE A,B:POKE A+1,32:POKE A+2,50:POKE A+3,B:POKE A+44,B
 2570 A=31100:GOSUB 2250
 2572 POKE A,B:POKE A+1,32:POKE A+2,51:POKE A+3,B:POKE A+44,B
 2580 A=31150:GOSUB 2250
 2582 POKE A,B:POKE A+1,32:POKE A+2,52:POKE A+3,B:POKE A+44,B
 2590 A=31200:GOSUB 2250
 2592 POKE A,B:POKE A+1,32:POKE A+2,53:POKE A+3,B:POKE A+44,B
 2600 A=31250:GOSUB 2250
 2602 POKE A,B:POKE A+1,32:POKE A+2,54:POKE A+3,B:POKE A+44,B
 2610 A=31300:GOSUB 2250
 2612 POKE A,B:POKE A+1,32:POKE A+2,55:POKE A+3,B:POKE A+44,B
 2620 A=31350:GOSUB 2250
 2622 POKE A,B:POKE A+1,32:POKE A+2,56:POKE A+3,B:POKE A+44,B
 2630 A=31400:GOSUB 2250
 2632 POKE A,B:POKE A+1,32:POKE A+2,57:POKE A+3,B:POKE A+44,B
 2640 A=31450:GOSUB 2250
 2642 POKE A,B:POKE A+1,49:POKE A+2,48:POKE A+3,B:POKE A+44,B
 2650 A=31500:GOSUB 2250
 2652 POKE A,B:POKE A+1,49:POKE A+2,49:POKE A+3,B:POKE A+44,B
 2660 A=31550:GOSUB 2250
 2662 POKE A,B:POKE A+1,49:POKE A+2,50:POKE A+3,B:POKE A+44,B
 2670 A=31600:GOSUB 2250
 2672 POKE A,B:POKE A+1,49:POKE A+2,51:POKE A+3,B:POKE A+44,B
 2680 A=31650:GOSUB 2250
 2682 POKE A,B:POKE A+1,49:POKE A+2,52:POKE A+3,B:POKE A+44,B
 2684 ?:RETURN
 2700 Q=31700:?:?"I am generating 20 battleships ..."
 2705 FOR I=1 TO 20
 2710 D=INT(RND(1)*14):D=D+1:POKE Q,D
 2720 E=INT(RND(1)*40):E=E+1:POKE Q+1,E
 2725 Q=Q+2:? I;:FOR R=0 TO 300:NEXT:NEXT:RETURN
 2800 Y1=PEEK(T):X1=PEEK(T+1):RETURN
 2900 ? SPC(18);:FOR F=A TO A+44:? CHR$(PEEK(F));:NEXT F:?
 2905 RETURN
 2940 ?SPC(16)"Congratulations! You destroyed the enemy's fleet."
 2945 GOTO 2955
 2950 ? CHR$(12)
 2955 ?:?SPC(28)"(N)ew game or (Q)uit:";:INPUT A$
 2960 IF A$="N" THEN 1200
 2965 IF A$="Q" THEN END
 2970 GOTO 2950
 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=134:GOSUB 5000
 3080 GS=GS+1:GOTO 1400
 4000 ?SPC(36)"Miss !!!";:GOSUB 9998:OP=120:GOSUB 5000:GOTO 1400
 5000 IF Y=1 THEN POKE (31004+X-1),OP
 5010 IF Y=2 THEN POKE (31054+X-1),OP
 5015 IF Y=3 THEN POKE (31104+X-1),OP
 5025 IF Y=4 THEN POKE (31154+X-1),OP
 5030 IF Y=5 THEN POKE (31204+X-1),OP
 5035 IF Y=6 THEN POKE (31254+X-1),OP
 5040 IF Y=7 THEN POKE (31304+X-1),OP
 5045 IF Y=8 THEN POKE (31354+X-1),OP
 5050 IF Y=9 THEN POKE (31404+X-1),OP
 5055 IF Y=10 THEN POKE (31454+X-1),OP
 5060 IF Y=11 THEN POKE (31504+X-1),OP
 5065 IF Y=12 THEN POKE (31554+X-1),OP
 5070 IF Y=13 THEN POKE (31604+X-1),OP
 5075 IF Y=14 THEN POKE (31654+X-1),OP
 5080 RETURN
 5100 ? SPC(18)"|-------------------------------------------|"
 5102 RETURN
 9970 ? CHR$(8)CHR$(126)CHR$(94);:GOSUB 9998:RETURN
 9988 ?SPC(37)"Error ...";:GOSUB 9998:RETURN
 9998 FOR F=0 TO 2255:NEXT:RETURN
 9999 FOR F=0 TO 7518:NEXT:RETURN

_____________________________________________________________

Upozornenie:


Zobrazenie krížiku platí pre nastavenie fontu v Hypertermináli, kedy je jeho okno zmenšené - písmo Lucida Console, veľkosť písma 8, osobne používam najradšej túto veľkosť Hyperterminálového okna:

 

 

Ak ponecháme základné nastavenie fontu čo je písmo Terminal, veľkosť písma 14:

 

 

tak musíme v programovom riadku číslo 3000 urobiť zmenu:

pôvodný text

 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=134:GOSUB 5000

nahradíme:

 3000 ?SPC(35)"Bingo !!!";:GOSUB 9998:SC=SC+1:OP=127:GOSUB 5000

Čiže je tu zmena obsahu v premennej OP - po tejto zmene sa zobrazí namiesto krížiku pri zásahu lodička , ak sa zmena neprevedie bude sa zobrazovať iný, vzhľadom nie príliš vhodný  znak. Toto samozrejme platí aj v opačnom garde. Je to dané tým, že uvedené dva fonty používajú mierne odlišnú znakovú sadu.

______________________________________________________

Vaše hodnotenie, Rate post:

11_2023 Blog, Notes.

By Administrator at novembra 02, 2023 13:11
Filed Under: Blog

02.11.2023

Dnes sa pozriem na odbery programátoru PREPROM-02aLV pri napájaní stabilizovanými 15V/DC a aj pri 12V/DC:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part4.

V článku je mimo iného aj popis stavby maléh, vcelku dá sa povedať univerzálneho domáceho zdroja pre napájanie rozličných zariadení, s prepínateľnými hodnotami na jeho výstupe na 5V-12V-15V/DC.

______________________

Dodatok 04.11.2023:

V článku mi "vypadli" niektoré namerané údaje, už je to tam opravené a uvedené na správnu mieru.

_____________________________________________________

03.11.2023

Asi každý má doma nejakú krabicu s odloženými rozličnými kabelážami - všelijaké USB, RS232, paralelný kábliky a pod. Dnes doobeda som hľadal v krabici jeden konkrétny prepojovací káblik a zaskočila ma halda ošúpanej izolácie z kábla na dne krabice - to tu predtým nikdy nebolo. Po chvíľke hľadania som autora uvedeného javu objavil:

 

Takže takto to dopadne ak sa použijú nevhodné materiály na izoláciu pre USB káblik (myš za toto rozhodne nemôže), krabica je trvale uzavretá kvalitným vrchnákom. A krabica nie je umiestnená na slnečnom mieste, takže v tom nemá prsty ani slnko. Našťastie túto jesennú "úpravu" zhadzovania izolácie predviedol tento jediný káblik. Kam s ním teraz ? Akurát do koša - kde som ho aj vyfotil. Inak povedané - zase jedno parádne kurvítko v praxi.

_______________

Ďalší poznatok - Igiho zákon o uloženej kabeláži:

"Môžete do veľkej krabice uložiť kabeláž pekne stočenú, pekne kus po kuse - keď to po čase vytiahnete a vysypete - je to všetko tak neuveriteľne prepojené a zamotané že Vám začína byť jasné že prechádzajúca robota bola vlastne úplne zbytočná, dopadlo to rovnako ako keby ste to tam len tak nahádzali."

____________________________________________________________

07.11.2023

Nová hra napísaná v jazyku BASIC pre SBC6502:

SBC6502 - 68 - basic programs - "Battleships".

_____________________________________________________

10.11.2023

Konverzia hry Battleships pre SBC6809:

SBC6809 - Basic game: Battleships. Part-10.

_____________________________________________________

11.11.2023

Konverzia hry Battleships pre SBC Micro UK101:

The Micro UK101 - COMPUKIT UK101, basic program - Battleship. Part-7.

_____________________________________________________

15.11.2023

Dnes som sa stal majiteľom ďalšieho kusu programátoru PREPROM-02aLV a k tomu aj nejakých ďalších vecí ktoré som doteraz nevlastnil:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Doplnky. Part5.

_____________________________________________________

25.11.2023

Základná literatúra pre SBC6809:

SBC6809 - CoCo books. Part11.

_____________________________________________________

Vaše hodnotenie, Rate post:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part4.

By Administrator at novembra 02, 2023 13:10
Filed Under: Non-Atari

Pozriem sa na základné odbery programátoru PREPROM-02aLV pri programovaní 2 typov starých Eprom pamätí (2716 a 2732A) - ale dnes článok začnem hodne zoširoka, viac ako býva u mňa obvyklé.

 

PREPROM-02aLV a v ňom založená EPROM 2716

 

Už som spomenul že som si chcel postaviť nový napájací zdroj, rozhodol som sa pre taký mix klasiky transformátoru a následného nízkonapäťového DC/DC meniča. Výstupné napätie je tu možné prepínať na tri rozličné hodnoty 5V-12V-15V/DC (3IN_ONE Smile), prepínač ešte nie je celkom doriešený - akosi na prednom paneli nie je dosť miesta, z jeho zadnej strany je na ňom totiž pripojený a umiestneny aj samotný DC/DC menič - toto zásadne ovplyvnilo aj rozloženie výstupných svoriek. Pretože svorky som mal len rovnakej farby tak som použil farebné LED ktoré teraz aj priamo značia polaritu výstupu. Iné riešenie by mi už nedovolilo umiestniť na predný panel sieťový vypínač. Veľkostne som zdroj riešil tak že môže napríklad (mimo iného) trvale napájať trebár aj počítače SBC6502 (12V/DC), SBC6809 (5V/DC) a UK101 (12÷15V/DC) a teda bude k nim aj výzorom "ladiť" - a trebárs aj ešte nejaké ďalšie SBC čo ešte postavím. Tak isto môže reálne poslúžiť pre napájanie dodatočnej doštičky PROM 74188, 74S287, 74S571 pre programátor USBprog (tam treba 15V/DC), čiže tá jeho univerzálnosť použitia pre viacero zariadení sa skutočne oplatí - akurát treba potom vždy myslieť na správnu polaritu výstupného napätia na konektore, pomáha tomu výrazné značenie na použitej kabeláži k príslušnému zariadeniu.

 

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.


Všetky veci pre stavbu spomenutého zdroja som mal doma k dispozícii, nekupoval som na jeho stavbu a následné sprevádzkovanie ani jednu jedinú súčiastku, stačila k tomu dostupná domáca súčiastková základňa. Použitý transformátor som pred časom dostal od známeho (bol z nejakého zabezpečovacieho zariadenia, ja som sa dostal len k transformátoru) a teda iba čakal na svoju príležitosť, dočkal sa.


Interné riešenie zdroja 5V-12V-15V/DC

Na trafáku je zaujímavé to že jeho primár je na 240V/AC.


Aha - aby som nezabudol - všetky 3 výstupné napätia v tomto zdroji sa dajú presne nastaviť viacotáčkovými trimrami, takže výstupné napätie nemusí byť iba také aké som uviedol, záleží to od toho aké napätia potrebujeme. Na prednom paneli je urobený otvor ktorým je možné nastaviť základné výstupné napätie 15V, trimer je priamo na základnej doske DC/DC meniča. Pridané trimre (2ks) - trimer vľavo nastavuje 5V, trimer napravo nastavuje 12V výstup, vlastne sa pripájajú paralelne k pôvodnému trimru a dokážu znižovať výsledné výstupné napätie, odvodené teraz od hodnoty 15V. Je tu vidieť aj pridaný chladič na doske DC/DC meniča.


Zdroj je napájaný cez transformátor 240V/AC→20V/AC, takže na napájanie vlastného meniča je po usmernení k dispozícii cca 25÷26V/DC. Doska DC/DC meniča dostala zo zadnej strany malý prídavný chladič lebo pri napájaní uvedeným DC napätím už celkom slušne hriala (na vine je stabilizátor pre LED displej). Na jeho dosku zo zadnej strany prišla tenká nevodivá silikónová podložka s aplikovanou teplovodivou pastou (izolácia je potrebná, inak by mohol nastať skrat na zadnej strane, vedú tam na doske prívody), nasleduje malý chladič zase s ďalšou teplovodivou pastou, na dosku je prichytený pomocou 5min Epoxy (pekne kol dokola), pri lepení bol chladič poriadne pritlačený voči doske meniča. Teplovodivá pasta je teraz zo všetkých strán pekne uzavretá a nehrozí jej vyschnutie, teplota dosky meniča sa v prevádzke skutočne výrazne znížil, teraz je iba mierne vlažný.

 

Síce to tu neveľmi vidno, ale sieťový  vypínač  je voči okoliu krytý priehľadným plastom proti náhodnému dotyku (lepšie vidieť na predchádzajúcom obrázku - bezpečnosť zdroja predovšetkým). Na výstupe DC zdroja napätia do DC/DC meniča je použitá 1.6A poistka. Graetz má na svojom striedavom vstupe paralelne pripojenú kapacitu 10nF (keramika), po usmernení a vyhladení 3 kapacitami ktoré majú spolu cca 2500uF (2x 1000uF/50V + 1x 470uF/35V) nasledujú ešte na DC výstupe paralelne pripojené kapacity 1nF, 10nF a 100nF (M1), všetko keramiky (slúžia pre vf odrušenie zdroja).

 

Ako som už spomenul zdroj ešte nie je celkom hotový (týka sa to už iba časti predného panelu) a nemá na sebe kryt pre displej (červené plexi) a chýbajú popisky pre prepínanie výst. napätia, prepínanie jednotlivých napätí je riešené jumperom, nepredpokladám tu však nejaké zbesilé prepínanie medzi potrebnými výstupnými napätiami takže mi to takto vyhovuje (a aj priestorovo). Je to riešené ako taký univerzálny napájací zdroj a teda mimo iného môžem ním napájať programátor PREPROM-02aLV (PREPROM-02 samozrejme tak isto) a ak treba - aj s jeho prídavnými modulmi. Osobne počítam s možným prúdovým odberom z tohoto zdroja maximálne niekde okolo hodnoty 1.5A, čo podľa mňa postačuje na napájanie pre hodne široky okruh rozličných (možných) pripojených zariadení.

Napájanie programátoru laboratórnym zdrojom akosi považujem za riešenie ísť poľovať na komára slonom, tento zdroj sa dá použiť aj iné veci a pre napájanie programátoru stačí použiť jednoduchý 12÷15V/DC/1A spínaný zdroj - a je po vtákoch, ale keď som zdroj už postavil tak som si povedal - pozri sa tiež na odbery PREPROM-02aLV ... a tiež som bol zvedavý ako bude programátor fungovať aj na deklarovaných 12V/DC - dopredu hovorím že samotné testovanie zbehlo bez najmenších problémov aj pri tejto hodnote.

 

Tak poďme na tie odbery PREPROM-02aLV.

Pri napájaní týmto stabilizovaným zdrojom 15V/DC a tak isto zmerané následne aj pri nastavení na 12V/DC, na testy boli použité Eprom pamäte 2716 (2kB, PGM napätie=25V) a 2732A (4kB, PGM napätie=21V). Zameral som na na tieto 2 typy Eprom pamätí, pretože novšie Eprom programátory už zvyčajne nepodporujú uvedené typy v ich celej šírke (teda nedajú PGM=25V), t.j. nedokážu ich vždy napáliť, zvyčajne "naplno" idú až od typu 2764 a vyššie.

 

Napájanie stabilizovaný zdroj 15V/DC:

- kľudový odber programátoru 0.12A

- pamäť Eprom 2716 (25V/write)

   zápis - 0.32A

  čítanie a verifikácia - 0.15A

___________________________

- pamäť Eprom 2732A (21V/write)

   zápis - 0.30A

- čítanie a verifikácia - 0.15A

 

Napájanie stabilizovaný zdroj 12V/DC:

- kľudový odber programátoru 0.09A

- pamäť Eprom 2716 (25V/write)

  zápis - 0.34A

  čítanie a verifikácia - 0.16A

___________________________

- pamäť Eprom 2732A (21V/write)

  zápis - 0.32A

  čítanie a verifikácia - 0.16A

 

Takže - vidieť že programátor naprosto v pohode funguje aj pri napájaní 12V/DC, akurát si pri práci "cucne" zo zdroja o niečo väčší prúdový odber, hlavne pri programovaní. Vidieť že Eprom 2732 používa novšiu technológiu a teda odber zo zdroja je potom pri programovaní o niečo menší. Odber pri programovaní EPROM nie je nijako hrozivý, takže na základné veci pre programátor naprosto postačuje aj zdroj 12V/DC/1A, ale ak máme na programátor pripojené aj prídavné moduly - tak radšej použite napájanie zdrojom 15V/DC/1A, nepôjdeme tak určite na "doraz" schopností zdroja dodať požadovaný prúd pre zariadenie, mať poruke rezervu je vždy dobré.

 

Zapojenie tu uvedeného zdroja slúži len pre inšpiráciu, nie je návodom na stavbu, dnes si spústa (= absolútna väčšina) ľudí radšej priamo hotový jednoúčelový zdroj kúpi (alebo ho má doma k dispozícii už dávno) a ďalej to nerieši, toto je skôr pre tých ktorí radi bastlia a majú dobrý pocit z toho že si postavia niečo sami a potom po zhotovení to funguje presne podľa ich predstáv.

_____________________________________________________________

12.11.2023

Možností napájania je skutočne viacero - samozrejme existuje aj jednoduchšie riešenie kedy nemusíme stavať celý nový zdroj, existuje aj možnosť kedy netreba do použitého kúpeného zdroja robiť žiaden zásah - stačí si vyrobiť tzv. konverznú prepojku ktorá nám "vyrobí" opačnú polaritu pre programátory Elnec.  Je dobré si ju potom výrazne označiť aby bolo jasné na aký účel má slúžiť. Nevýhodou takýchto univerzálnych riešení je to že sa po čase môžeme pozabudnúť - a malér je na svete. Síce si nezničíme programátor od fy. ELNEC, tie sú dobre chránené (majú v sérii zapojenú diódu, čiže opačná polarita na vstupe im neublíži, akurát nebudú fungovať) ale ak to pripojíme ako zdroj napájania na zariadenie ktorému tým dodáme opačnú polaritu ... - no, mýliť sa síce je ľudské - ale poväčšine je to potom aj drahá záležitosť.

 

Na druhú stranu - takýto zdroj bez konverznej prepojky môžeme naďalej využívať na pôvodný účel pretože bez "invertorového medzikusu" dodáva naďalej na svojom výstupe potrebné napätie a aj potrebnú polaritu pre napájanie iných zariadení.

 

Trebárs takto môže vyzerať vyrobená konverzná prepojka pre zmenu polarity na svojom

výstupe - "medzikus" /polarity changer adapter/ pre zmenu polarity na svojom výstupe.


Vľavo invertovaný výstup 15V - pól je na strednom kolíku, vpravo je vstup 15V, + pól v strede. 15V/DC spínané zdroje používajú konektor, ktorý má stredový kolík o niečo väčší, teda protiľahlý kus má v sebe kolík o väčšom priemere ako pri zdrojoch 12V/DC. Toto zabezpečuje "nevýmennosť" pripojenia zdrojov do takejto invertorovej predlžovačky.

Poznámka:

Len tak mimochodom - je to rozmer konektoru ktorý presne "pasuje" do disketovej jednotky Atari 1050 - len pozor, tam treba dodávať do jednotky striedavé napätie a to 9V/AC/3A, takže táto informácia sa hodí iba ako zdroj získania potrebného konektoru, ale to som už hodne odbočil od obsahu a zamerania tohoto článku. 


Takto vyzerá spodná strana napäťového invertoru,  výstup vpravo. Celé je to zapojené na kúsku univerzálnej doštičky kde je to vzájomne pospájkované - tu sa mení polarita zdroja na výstupe, následne je to potom pokryté teplom zmrštiteľnou bužírkou, tá to potom zároveň izoluje voči okoliu. Výstup z inventoru sa potom zapojí priamo do programátoru PREPROM-02 alebo PREPROM-02aLV, dobre poslúži pre obidva typy.


Na napájanie je použitý neupravovaný zdroj 15V/DC/1A. Jasne vidieť

že takýto spínaný napájací zdroj je naozaj malý.

 

Stále platí - tak ako vždy - jednoúčelové zdroje na jednu vec sú proste najlepšie, i keď potom občas márne pátrame kde ten konkrétny potrebný zdroj, potvora, je niekde (zase ...) naozaj dobre založený (a odložený). Ak veci skladujeme pekne spolu, pohromade (t.j. navzájom), alebo to máme na stole trvale zostavené = zvyčajne je to najlepšia cesta k tomu že nič po poskladaní a následnom zapnutí zariadenia nepohnojíme a tiež nestrávime doobedie (alebo poobedie) hrešením a márnym hľadaním niečoho čo ste pred časom niekde videli ale za toho anciáša neviete kde to bolo a kedy - strýčkovi Alzheimerovi jednoducho netreba robiť radosť.

Smile

Predviedol som tu v článkoch niekoľko možných spôsobov nasadenia rozličných zdrojov napájania pre tento programátor - takže konečné rozhodnutie aký zdroj nakoniec  použijete na takýto účel je len a len na Vás.

_____________________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 67 - PROM 74188 - diagnostic program for 74188 programmer.

By Administrator at októbra 21, 2023 12:55
Filed Under: SBC6502

 

 

Ak všetko funguje tak ako má - fajn, inak nastanú starosti. Ak pri stavbe niečo nefunguje alebo keď nám začne programátor PROM 74188 z rozličných príčin "blbnúť" tak by bolo vítanou pomôckou mať nejaký pomocný program na základné otestovanie funkčnosti jednotlivých celkov - a tak som sa (po dlhom čase) rozhodol ho napísať. Stačí zadať hodnotu použitého x-talu ktorý slúži ako informácia o základnom clocku hodín procesoru a tým sa nastavia jednotlivé hodnoty pre fungovanie programu ako takého, vďaka tomuto nastaveniu vyhovuje potom program priamo pre všetky uvedené hodnoty x-talov ktoré má uvedené vo svojom zozname.

 

Pri testovaní nesmie byť založená PROM !

 

Vstupné menu pre nastavenie hodnôt pre použitý x-tal

 

Nasleduje pracovné menu.


K dispozícii je celkove 7 (označenie v menu je číslami 0 ÷ 6) pomocných testovacích podprogramov:

 

0.- test pripne na pin č.16 ZIF pätičky programátoru napájacie napätie Ucc (cca +4.75V) po dobu 20sekúnd, hodnota sa meria proti pinu č.8 čo je Gnd, po celú dobu svieti zelená a modrá LED, následne sa Ucc odpojí a vráti sa naspäť do menu


1.- testuje sa zapnutie Vpp + 10.5V na pin č.16 pätičky ZIF, meria sa voči pinu 8 (Gnd), napätie je dostupné po dobu 20 sekúnd, potom sa odpojí Vpp a program sa vráti naspäť do menu , pri teste svietia zelená a červená LED


2.-  test pre chip select (neg.), na 20 sekúnd sa na pine č.15 ZIF pätice objaví log.1, potom na 20 sekúnd padne do log.0 a následne sa odpojí napájanie, pri tomto teste svieti zelená a modrá LED, po celú dobu testu a je aktívne Ucc


3.- je to súhrn testov 0+1+2 v jednom, najprv na 2 sekundy je na pine 16 Ucc (v tom istom okamihu ide do log.1 CS), následne je "prebité" pripojením Vpp, potom sa po 20 sekundách vypne Ucc a Vpp a tiež CS. Počas testu svieti zelená + modrá + po 2sec červená LED, v druhej časti potom zhasnú modrá+červená LED


4.- cyklický test (4x test č.3), teda zbieha niekoľko krát za sebou


5.- testuje sa čip 8255A - na jeho port B sa posielajú postupne data v rozmedzí 0÷255d ktoré potom spätne čítame cez jeho port C. Treba si uvedomiť že výstup z portu B ide ešte cez tranzistory a je teda negovaný. V programe je to vyriešené tak že načítané data z portu C sa následne negujú a až potom sa výsledok porovná. Tento test je tiež cyklický, zbieha celkove 7x za sebou. V prípade chyby sa test zastaví a vypíše kde sa objavil problém.


6.- ak máte pocit že sa netestuje port A čipu 822A, nuž tu je odpoveď - áno sa testuje, jeho horné 3 bity (bit 7 - pripája napätie Ucc, bit 6 pripája Vpp,  bit 5 ovláda chip select), bity 4,3,2,1,0 ovládajú vstupy E (pin 14), D (pin 13), C (pin 12), B (pin 11), A (pin 10) priamo na ZIF pätici.

* Tu máme možnosť zaslaním údaju 0÷31d na tento port sledovať binárnu hodnotu na uvedených adresách bitov. Údaj zostáva platný po dobu 20 sekúnd po potvrdení, potom sa vráti do menu. Svieti iba zelená LED - platí to ak zadáme číslo do 31d, inak viď ďalej.

Ohľadne "hornej" trojice spomenutých bitov:

           pri čísle 128 zapneme Ucc, modrá LED

           pri čísle  64 zapneme Vpp, červená LED

           pri čísle  32 zapneme CS do log.1

Kombináciou týchto čísel môžeme zapnúť aj všetky 3 bity naraz: je to číslo 224, ak zadáme 255 tak všetky bity na porte A budú v log.1.

Táto voľba č.6 umožňuje testovať všetky bity portu A a ak treba aj jednotlivo.

* - pre bity 4,3,2,1,a 0 portu A je v ceste ešte čip 7417


Diagnostický program:

Diagnostic software.txt (5,13 kb)

 

Listing programu:

  992 REM Output:
  993 REM port A - bits 0,1,2,3,4 - PROM 74188
  994 REM       adress: A,B,C,D,E
  995 REM        
  996 REM          bit 5 - CS(neg.) PROM pin 15
  997 REM          bit 6 - PGM pulz 5V/10.5V/5V PROM pin 16
  998 REM          bit 7 - relay On/Off pin 16 (Ucc) PROM 74188
  999 REM
 1000 CLEAR:POKE 15,80:BN=0:NS=7:DV=0
 1005 PA=32768:PB=PA+1:PC=PA+2:CWR=PA+3:POKE CWR,137
 1010 ?CHR$(12);SPC(29)"SBC6502/32kB RAM+8255A"
 1015 ?SPC(16)"Turn ON the power to the PROM 74188 programmer !"
 1017 ?SPC(29)"No PROM in ZIF socket!"
 1020 A$="1.8432MHz":B$="2.0000MHz":C$="2.4576MHz":D$="2.5000MHz"
 1021 E$="3.6864MHz":F$="4.0000MHz":G$="4.5000MHz":H$="4.9152MHz"
 1022 I$="5.0000MHz":J$="6.0000MHz"
 1023 R$="20 sec active in ZIF socket, then off"
 1024 T$="20 sec CS in log.1, 20 sec log.0 and off
 1025 GOSUB 2030:GOTO 1035
 1030 IF BN=1 THEN ?CHR$(12):?
 1035 GOSUB 2700:?" -";SPC(5);"Diagnostic software - ver.1.0,";
 1100 ?" Igi(c)22.10.2023, for x-tal version:";
 1101 GOSUB 2040:GOSUB 2700:GOSUB 2050:GOSUB 2040
 1102 GOSUB 2050:?"(0) - "A$;:GOSUB 2040
 1104 GOSUB 2050:?"(1) - "B$;:GOSUB 2040
 1106 GOSUB 2050:?"(2) - "C$;:GOSUB 2040
 1108 GOSUB 2050:?"(3) - "D$;:GOSUB 2040
 1110 GOSUB 2050:?"(4) - "E$;:GOSUB 2040
 1112 GOSUB 2050:?"(5) - "F$;:GOSUB 2040
 1114 GOSUB 2050:?"(6) - "G$;:GOSUB 2040
 1116 GOSUB 2050:?"(7) - "H$;:GOSUB 2040
 1118 GOSUB 2050:?"(8) - "I$;:GOSUB 2040
 1120 GOSUB 2050:?"(9) - "J$;:GOSUB 2040
 1122 GOSUB 2050:GOSUB 2040:GOSUB 2050:?"(Q)uit program";
 1124 GOSUB 2040:GOSUB 2700:GOSUB 2080:BN=1
 1134 IF X$="0" THEN DV=2.25:S$=A$
 1136 IF X$="1" THEN DV=2.44:S$=B$
 1138 IF X$="2" THEN DV=3.15:S$=C$
 1140 IF X$="3" THEN DV=3.2:S$=D$
 1142 IF X$="4" THEN DV=4.5:S$=E$
 1144 IF X$="5" THEN DV=5:S$=F$
 1146 IF X$="6" THEN DV=5.6:S$=G$
 1148 IF X$="7" THEN DV=6:S$=H$
 1150 IF X$="8" THEN DV=6.2:S$=I$
 1152 IF X$="9" THEN DV=7.14:S$=J$
 1154 IF X$="Q" THEN ? "End program ...":END
 1156 IF DV<>0 THEN GOTO 1200
 1158 GOTO 1030
 1200 ?CHR$(12):GOSUB 2700:GOSUB 2030
 1204 ?" -";SPC(7);"Diagnostic software -";
 1206 ?"x-tal version: "S$SPC(10)"LED:";:GOSUB 2040:GOSUB 2700
 1210 GOSUB 2060:?"(0) - test 5V /Ucc-pin16, Gnd-pin 8,";
 1212 ?SPC(15)"Green+Blue";:GOSUB 2040:GOSUB 2070
 1214 ?R$;:GOSUB 2040:GOSUB 2060
 1216 ?"(1) - test 10.5V /Vpp-pin 16, Gnd-pin 8,";SPC(11)"Green+Red";
 1218 GOSUB 2040:GOSUB 2070:?R$;:GOSUB 2040
 1220 GOSUB 2060:?"(2) - test chip select, ZIF socket pin 15,";
 1222 ?SPC(9)"Green+Blue";:GOSUB 2040:GOSUB 2070:?T$;:GOSUB 2040
 1224 GOSUB 2060:?"(3) - test 5V Ucc + 10.5V Vpp + CS together,";
 1226 ?SPC(7)"Green+Blue+Red";:GOSUB 2040
 1228 GOSUB 2070:?"2sec Vcc+cs-> +20sec Vpp, then off";
 1229 GOSUB 2040:GOSUB 2060:?"(4) - cyklic ";
 1230 ?"test no.:0+1+2,";SPC(23)"Green/+B+R_on/off";:GOSUB 2040
 1232 GOSUB 2070:?"(4x all 5 sec on/5 sec off)";:GOSUB 2040
 1234 GOSUB 2060:?"(5) - cyklic test Data Out to port B and read";
 1236 ? SPC(6)"Green+Blue";:GOSUB 2040:GOSUB 2070
 1238 ?"in to port C /complet range 0-255d, 7x/";:GOSUB 2040
 1240 GOSUB 2060:?"(6) - test Data Out in port A /range 0-255/";
 1242 ? SPC(8)"Green+Out bits";:GOSUB 2040
 1244 GOSUB 2070:?"20 sec active bits in ZIF socket, then off";
 1295 GOSUB 2040:GOSUB 2050:GOSUB 2040
 1300 GOSUB 2060:?SPC(14)"(Q)uit to main menu";:GOSUB 2040
 1310 GOSUB 2700:GOSUB 2080:BN=1:?
 1312 IF X$="4" OR X$="5" THEN ?SPC(31)"Active test --> x";:GOTO 1320
 1315 ?SPC(33)"Active test --> ";
 1320 IF X$="0" THEN GOSUB 2100:GOTO 1200
 1325 IF X$="1" THEN GOSUB 2200:GOTO 1200
 1330 IF X$="2" THEN GOSUB 2300:GOTO 1200
 1335 IF X$="3" THEN GOSUB 2400:GOTO 1200
 1340 IF X$="4" THEN GOSUB 2500:GOTO 1200
 1345 IF X$="5" THEN GOSUB 2600:GOTO 1200
 1350 IF X$="6" THEN GOSUB 2650:GOTO 1200
 1355 IF X$="Q" THEN 1030
 1999 GOTO 1200
 2000 FOR F=0 TO DV*2000*NS:NEXT:RETURN
 2005 FOR F=0 TO (DV*2000*NS)/10:NEXT:RETURN
 2010 FOR Q=1 TO NS:FOR F=0 TO DV*1200:NEXT F:?".";:NEXT Q:RETURN
 2020 FOR F=1 TO DV*300*NS:NEXT F:RETURN
 2030 POKE PA,0:POKE PB,0:RETURN
 2040 ?TAB(78)"-":RETURN
 2050 ?" -"SPC(31);:RETURN
 2060 ?" -"SPC(7);:RETURN
 2070 ?" -"SPC(13);:RETURN
 2080 ?SPC(30)"   Your choice - ";:INPUT X$:RETURN
 2100 POKE PA,128:GOSUB 2010:GOSUB 2670:RETURN
 2200 POKE PA,64:GOSUB 2010:GOSUB 2670:RETURN
 2300 POKE PA,160:GOSUB 2010:POKE PA,128:GOSUB 2010:GOSUB 2670
 2305 RETURN
 2400 POKE PA,128:GOSUB 2005:POKE PA,192:GOSUB 2010:POKE PA,0
 2405 GOSUB 2670:RETURN
 2500 FOR WE=1 TO 4:? WE;
 2502 POKE PA,224:GOSUB 2020:POKE PA,0:GOSUB 2020
 2504 NEXT:GOSUB 2670:RETURN
 2600 POKE PA,128:FOR TE=1 TO 7:?TE;
 2602 FOR DT=0 TO 255:POKE PB,DT:IN=PEEK(PC):VE=255-IN
 2610 IF DT=VE THEN 2625
 2615 ?:? "PROBLEM:":?"DATA out      Input"
 2620 ?" portB:       portC:":? DT,VE:GOSUB 2030:END
 2625 NEXT:NEXT:? " <- O.K.!";:GOSUB 2030:GOSUB 2020:RETURN
 2650 ?CHR$(12):?:? SPC(26)"Test no.6 - Data Out in port A.":?
 2652 ?SPC(23)"Data range 0-255, your input DATA:";:INPUT A
 2654 IF A>255 THEN ?SPC(37)"Wrong input !":GOTO 2652
 2656 POKE PA,A:?SPC(34)"Active:";:GOSUB 2010:GOSUB 2670:RETURN
 2670 GOSUB 2030:?"End";:GOSUB 2005:RETURN
 2700 ?" ";:FOR F=2 TO 78:?"-";:NEXT:GOSUB 2040:RETURN

Tento program slúži pre jednoduchú a rýchlu diagnostiku zistených problémov (ak sa nejaké objavia) na PROM 74188 programátore. Ako autor hw a sw si vystačím iba s jednotlivými POKE a PEEK príkazmi a diagnostický program vlastne vôbec nepotrebujem, lenže nie každý má potrebné znalosti ako si poradiť ak vzniknú nejaké problémy, pre tých je tento program aj určený. Čo je zaujímavé - dĺžka diagnostického programu činí približne 1/2 dĺžky plnej programovej verzie 1.10, diagnostický program bol pridaný aj do archívu všetkých programových verzií.

_________________________________________________________________________________

V uvedenom odkaze sú uverejnené všetky vydané verzie programového vybavenia pre programátor PROM 74188:

SBC6502 - 66 - PROM 74188 - všetky verzie programu, all program version.

_____________________________________________________________

Vaše hodnotenie, Rate post:

10_2023 Blog, Notes.

By Administrator at októbra 01, 2023 07:33
Filed Under: Blog

01.10.2023

VOSR - Petrohrad 1917, prešlo odvtedy 106 rokov a je tu VOSR Bratislava - 2023, no comment ...

____________

Info:

Článok o programovej verzii 1.10s pre programátor PROM 74188  bol počas jeho tvorby mojím nedopatrením na istý čas uvoľnený na web počas dňa 01.10.2023, teda ešte počas jeho zásadnej tvorby a teda v ňom obsiahnutý program nebol dotiahnutý do finálnej fázy vrátane popisov, takže tomu kto sa v tom čase k nemu dostal sa zhlboka ospravedlňujem ... proste musíte si počkať do Vianoc, zásadné otestovanie novej verzie programu a aplikácia niektorých úprav do programového vybavenia je naozaj vec ktorá nejaký čas zaberie. Jediná vec ktorá z toho vyplýva - že bude ešte jedna verzia programového vybavenia - budú tam nápady ktoré tam ešte chcem zrealizovať.

___________________________________________________________________

22.10.2023

Diagnostický software pre riešenie potiaží (ak vzniknú) pre programátor PROM 74188:

SBC6502 - 67 - PROM 74188 - diagnostic program for 74188 programmer.

___________________________________________________________

Vaše hodnotenie, Rate post:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part3.

By Administrator at septembra 26, 2023 12:40
Filed Under: Non-Atari

Programátor PREPROM-02aLV.


Dnes to bude o práci s uvedeným zariadením a teda o doteraz získaných skúsenostiach - priamo hovorím že niektoré veci sú mierne inakšie ako som očakával, ale o tom všetkom bude v ďalšom samozrejme ešte reč.

V prvom rade som očistil celý povrch programátoru od nečistôt (stačila na to vlažná voda + handrička) ktoré na ňom boli po tých rokoch používania a vymenil som 4 šróby čo držia vrchný kryt (2 vpredu, 2 vzadu) - boli od používania zariadenia zanesené patinou a hnedými fľakmi (zreagoval na nich po čase pravdepodobne pot z prstov) a ich výmena za nové celkovému vzhľadu hodne pomohla. Nasledovala ešte aj spodná strana, kde som vymenil všetky 4 gumené nožičky za nové (už nie sú čierne ale bezfarebné, priehľadné), predsa len sa na tých pôvodných riadne podpísal zub času.

 

Vyčistený povrch programátoru.

 

Pre napájanie programátoru som použil upravený zdroj ktorý som popísal v minulom, 2.pokračovaní. Výstupné napätie použitého zdroja sa naprázdno pohybuje pod hranicou 20V (cca 19.1V), ale musím priznať že ním napájaný programátor hreje - i keď nie výdatne, ale predsa len. Pravdepodobne do výstupu zdroja dám ešte minimálne 3x 1N4001 (alebo radšej 4x) zapojené do série - znížim tým výstupné napätie minimálne o 2÷3V, na takúto "úpravu" je v krabičke spomenutého zdroja dostatočné miesto. Ak používate programátor len občas a nemáte to trvale zapnuté tak takáto úprava napájacieho zdroja ani nie je potrebná. Ideálnym riešením je nasadiť na toto miesto spínaný zdroj 230V/AC→15V/DC/1A (je to aj odporúčanie výrobcu, fy Elnec).

 

 

Samotný programátor má v sebe použitý stabilizátor LM7805 ktorý má nasadené zdvojené chladiace krídielko, t.j. potom sa musí pri odbere pri potrebnom prúde pre jeho obvody vyžiariť teplom cca 15V x potrebný prúd = celkom slušné teplo. Takže každý voltík ktorý sa dá zraziť smerom nadol k požadovanej hodnote 15V/DC je dobrý. No, toto zariadiť ale ako nejaký veľký problém nevidím. (Nakoniec, mám k dispozícii aj iné dostupné zdroje.)

Aj tak mám v pláne postaviť si spínaný zdroj pre tento programátor (bude pritom aj univerzálnejší, aby sa dal použiť aj na iné účely) a to aj zo zabudovaným sieťovým vypínačom (nech ho nemusím vyťahovať z predlžovačky ak ho nepoužívam), asi ešte na túto tému hodím nejaké to slovo. A hodne ma zaujíma aj možnosť napájania programátoru stabilizovaným napätím 12V/DC, malo by to fungovať taktiež - ale pokiaľ to neodskúšam ... takže chvíľu vydržte.


Záverom ešte jedno zistenie venované napájaciemu zdroju:

Firma Elnec doporučuje (viď jej neskorší manuál 08/2005, je uverejnený v 1.časti) použiť na napájanie zdroj 12÷15V/DC/0.5A, zahraniční predajcovia z tej doby (uvediem príklad austrálskeho predajcu):

http://www.grantronics.com.au/elnec/preprom02alv.html

pre tento programátor uvádzajú rozsah napájacieho napätia podstatne väčší - 12÷20V/DC/0.5A. Nedalo mi to, pozrel som sa na tento rozpor v dostupných údajoch podrobnejšie a pritom som zistil že na začiatku predaja zariadenia tento väčší rozsah napájania uvádzal v manuáli aj výrobca (Elnec, viď manuál vydanie 03/2002). Talianska firma GRIFO zase uvádza jediný spôsob napájania pre ňu vyrábanej modifikácie programátoru s názvom EP32 a to 12V/DC/0.5A, takže rovnaký zostáva len požadovaný prúdový odber (nepočíta sa tu s odberom prídavných modulov, potom treba zdroj s povoleným odberom dvojnásobným, t.j.minimálne 1A).

Originál zdroj od fy. Elnec je nestabilizovaný zdroj 12V/DC/0.5A, čiže jeho výstupné napätie naprázdno môže dosiahnuť aj k hranici 20V/DC, pri záťaži samozrejme poklesne pod túto hodnotu, niekedy aj výrazne. Už som to spomenul - pri tzv mäkkom zdroji sú poklesy napätia pri záťaži na výstupe markantnejšie (týka sa originálneho nestabilizovaného zdroja).

V poslednej dobe má výrobca na svojich stránkach na napájanie programátoru uvedený ako odporúčaný stabilizovaný zdroj 15V/DC/1A.

Nech je to ako je - nižšia hodnota výstupného napätia určite znamená menej vyvíjaného (a pritom zbytočného) tepla v samotnom zariadení.

 

Teraz sa zameriam na popis pripojenia cez paralelný port:

Pri "novších PC" (teda myslím tým obdobie niekde okolo roku 2000÷2005, aby bolo jasno ...) má zvyčajne základná doska možnosť nastavenia paralelného portu do 4 možných režimov:

1 - SPP

2 - EPP

3 - ECP

4 - EPP/ECP

Už som uviedol link kde sa táto téma celkom podrobne rozoberá (odkaz napr. je v 2.pokračovaní) a teda na PC s procesorom nad 2GHz a dostatočnou RAM (minimálne 2GB) je jasnou voľbou použiť posledne uvedený režim paralelného portu.

 

A čo na to hovorí realita ?

Počítač Asus Pundit P1 - je to PC s OS WinXP, procesor Celeron 2.66GHz, RAM 2GB (RAM sa nedá viac rozšíriť), HDD 500GB - po nastavení paralelného portu do režimu EPP/ECP sa programátor "chytil" a komunikoval, akurát programovanie Eprom pamätí zbiehalo asi tak 3÷4x pomalšie ako som očakával. Vzájomne to teda komunikovalo (síce bez chýb), ale bolo jasné že tento režim pre moju použitú kombináciu na stole akosi nie je to pravé orechové, bolo treba ísť smerom naspäť, SPP režim som nechcel skúšať (určite by fungoval - ale rýchlosť prenosu by o dosť padla) a tak som teda zapol LPT port do režimu EPP a nastavil som rýchlosť komunikácie s portom na 80% možnej prenosovej rýchlosti /rozhodol som sa pre nejakú tú rezervu/. Výsledok ? - všetko fičí ako víno a doba programovania sa vrátila na očakávané hodnoty.

Ešte dodám - PC nemá antivír, sú zablokované všetky nepotrebné funkcie OS, nemá prístup na Internet, je to prísne lokálne PC, komunikácia s okolím prebieha cez USB kľúč ktorý je kontrolovaný AV programom na notebooku na ktorom pracujem (a píšem blog).

Priznám sa - ďalej som už neexperimentoval, beží to v uvedenom nastavení naozaj rýchlo takže s dosiahnutým stavom som nadmieru spokojný. Takže - otestovať čo Vaša doska v počítači dokáže je naozaj potrebné. Určite je to mimo iného dané tým, že používam zabudovaný interný LPT port ktorý sa nachádza priamo na motherboarde, nemám LPT port na samostatnej PCI karte kde by sa to s najväčšou pravdepodobnosťou dalo prevádzkovať naplno aj v spomenutom režime EPP/ECP, ale keďže to funguje teraz na jednotku nehodlám dodatočne spomenutú kartu zháňať.

 

Ešte upozorním, že po zmene nastavenia samotného LPT portu do iného režimu je potrebné odinštalovať ovládací program pre programátor a zase ho nainštalovať znova aby sa zmena nastavenia pre LPT port mohla prejaviť. Treba zvoliť manuálne nastavenia (nie automatické) pri inštalácii programu, aby sa nahrali správne ovládače pre paralelný port.

 

Ako som zistil a potvrdil si na webe - programová verzia 3.15 funguje bez problémov aj pod Win10 - samozrejme v počítači musí byť k dispozícii LPT karta, celkom zaujímavý poznatok o tom že program funguje aj na modernejších OS.

 

Pretože používam na tomto PC iba programátor PREPROM-02aLV (s verziou programu 3.15h už starší programátor PREPROM-02 nebeží, ten končí u verzie 2.51 - s touto verziou už tak isto funguje dnes popisovaný PREPROM-02aLV, je to prvá dostupná Win verzia programu) tak som zvolil nastavenie typu programátoru v programe priamo (manuálne), pripojenie programátoru zbieha plne automaticky, akurát vďaka spomenutému nastaveniu pri ďalšom spustení programu nezbieha postupne vyhľadávanie všetkých možných typov programátorov s ktorými vie spolupracovať, ale PREPROM-02aLV je nájdený okamžite a ihneď je zahájená vzájomná komunikácia PC↔programátor.

 

IOMEGA ZIP 100 paralelný predlžovací káblik.

 

K pripojeniu PREPROM-02aLV k PC som použil predlžovací paralelný káblik zo zariadenia IOMEGA ZIP 100 ktorý má dĺžku necelý 1 meter, funguje parádne. Síce mám k dispozícii aj originálny dodávaný káblik priamo od firmy ELNEC (interným zapojením sú tieto káble plne identické) - ale tento je približne o polovicu kratší ako dodávaný originál k programátoru a vyhovuje mi pre moje priestorové potreby viac, to je jediný dôvod prečo som prešiel na kratšiu verziu.


Počas práce s programátorom PREPROM-02aLV nespúšťam iné programy, Celeron v použitom PC má čo robiť s uvedeným programom (záťaž pri práci s programom ide na 100%), radšej to tu extra spomeniem.

 

Konkrétne nastavenie na mojom PC ASUS Pundit-P1.

(Aby bolo jasné - aj pri nastavení rýchlosti  na 100% to išlo, ale nejaká tá rezerva je vždy vec dobrá.)

 

Vítanou novinkou ktorá je k dispozícii pre programátor PREPROM-02aLV je testovanie správnosti obsahu Eprom po napálení pri maximálnom napájacom napätí Vcc max a tak isto je Eprom následne testovaná aj pri Vcc min. Ak prejde Eprom týmito testami tak je skutočne hodne dobrá a mala by na svojom novom mieste slúžiť bez najmenších problémov.

Test s napätím Vcc max a Vcc min sa dá previesť pri nastavení hodnôt na ±5% (4.75V a 5.25V) alebo aj pri "tvrdšom" teste kedy je to ±10% (4.5V a 5.5V) od nominálnej hodnoty Vcc=5V.

(Samozrejme táto kontrola je k dispozícii už od verzie 2.51 pre PREPROM-02aLV ktorá bola prvou verziou pre Win, len táto "novšia" verzia programu je proste komplexnejšia, programátor som testoval iba vo verzii 3.15h, či to funguje aj pod DOS verziami programu som už spätne nezisťoval.)

 

Ďalšou pomôckou je po založení Eprom do pätice možnosť voľby automatického zistenia ID Eprom a teda aj presné zistenie typu Eprom. Tento režim by mal celkom spoľahlivo fungovať od typu 27128 (16kByte) a vyššie. Jediný problém je ako som sám zistil že kopa výrobcov túto implementáciu ID nedodržuje - a to ani u Eprom s násobne vyššou kapacitou, napríklad bez problémov som našiel 128kByte Eprom ktorá nemá režim ID - a takýchto Eprom som našiel viacero. No, zistenie je to zaujímavé, ale v praxi takáto identifikácia má poväčšine zmysel len vtedy ak je z akýchkoľvek príčin nečitateľný popis na samotnej Eprom, inak si napíšeme pri výbere obvodu údaje priamo podľa popisu na čipe a je vystarané. Takže používať a spoliehať sa na automatické ID treba s rozvahou, na obrázku je vidieť možnosť voľby pomocou ID (je to nad nastaveniami súvisiacimi s obvodom).

 


Tu treba upozorniť na možný problém ak je zapnuté automatické rozpoznávanie ID (CTRL + F5) pri Eprom pamätiach ktoré tento režim nepodporujú, vtedy pri konkrétnom nastavení čipu pri napaľovaní je potrebné toto nastavenie vypnúť, inak sa zablokuje samotné napaľovanie Eprom. Spustí sa cez ALT+O.

(Len dodám že rovnaké skúsenosti s aplikovaním používania ID v Eprom sú pri používaní programátoru TL866, TL866 II, XGecu ... majitelia uvedených typov sa s týmto problémom už určite tak isto stretli, jednoducho - kde nič nie je - tam ani programátor nič neprečíta ...)

 

Testovanie ID čipu Eprom pri napaľovaní je zapnuté.


Ak je testovanie ID čipu pri napaľovaní zapnuté a programovanie sa zastaví (nenapáli sa ani jediný byte), vtedy stačí ísť do menu a túto voľbu v ňom vypnúť a spustiť programovanie čipu nanovo.


Testovanie ID čipu Eprom pri napaľovaní je vypnuté.


V obidvoch prípadoch nemám nastavený test kontroly vymazania čipu, testovanie vymazania čipu robím vždy v základnom menu cez voľbu "Kontrola", ale nie je to problém aj v tejto voľbe zapnúť - toto závisí na Vašom rozhodnutí.

 

Záver:

Tento programátor je skutočne "vymakaný", robí sa s ním mimoriadne dobre, to že je potrebné mať na stole PC s paralelným portom, monitorom, zapojenou dodatočnou kabelážou a pripojeným vlastným napájacím zdrojom pre programátor som už spomenul. Ale ak na to všetko máte miesto a viete si to zapojiť natrvalo aby ste to nemuseli ustavične skladať a rozkladať - máte vyhraté. K PC mám pripojený mimoriadne šikovný malý 10" LCD VGA monitor, síce najlepšie si rozumie zobrazovať v rozlíšení 800 x 600 (je to aj min. požiadavka ovládacieho programu pre PREPROM-2aLV, ale s odretými ušami sa s programom dá pracovať aj v rozlíšení 640 x 480, vyskúšal som - napriek tomu to v tomto režime používať skutočne neodporúčam), monitor zvláda bez problémov aj režimy 1024 x 768 (toto je pre neho rozumné maximum), zvláda aj 1152 x 864, 1280 x 768, 1280 x 1024 a dokonca aj 1600 x 1200 - akurát tam už asi neprečítate popisky na ploche ..., tak sú prťavé.

Ak sa Vám podarí zohnať uvedený programátor (a máte doma k tomu aj vyhovujúce staršie - a hlavne dostatočne malé PC) tak pri práci s ním budete určite spokojní, je to jednoznačne vyššia trieda než predchádzajúci programátor PREPROM-02 (i keď ten tiež plní svoju úlohu mimoriadne dobre) - je to vidieť aj na samotnom ovládacom programe, nakoniec tento programátor už mieril do malej podnikovej sféry.

_____________________________________________________________

1.časť:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part1.

2.časť:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part2.

______________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 66 - PROM 74188 - všetky verzie programu, all program version.

By Administrator at septembra 12, 2023 15:48
Filed Under: SBC6502

 

Tento materiál bol naposledy akualizovaný dňa: 22.10.2023

 

Upozornenie: 

Všetko programové vybavenie je určené pre programátor uverejnený v tomto článku:

SBC6502 - 33 - Programátor PROM 74188. PROM 74188 programmer. Part 1-4.

 

Nakoniec sa ukázalo že je záujem (i keď som veľmi s tým už nepočítal) aby boli naďalej dostupné aj staršie verzie programu (čo ma naozaj potešilo, vďaka za maily !), takže som nakoniec všetky doteraz vydané verzie programového vybavenia pre programátor PROM 74188 zabalil do jedného, nasledovného balíčku (ponechal som tiež jednotlivé verzie aj v pôvodných článkoch tej-ktorej verzie). A pretože som mal pocit že to začína byť mierne neprehľadné tak som vyhradil balíčku programovžch verzií nakoniec tento samostatný článok, sú tu tiež zverejnené dôležité adresy programu.

(Pôvodne tieto informácie aj s programovým balíčkom boli uverejnené priamo v článku pre programové verzie 1.09 a 1.09p - tam som to zrušil, dnes sú iba súčasťou tohoto článku.)

 

Dátumy vydania jednotlivých uvoľnených programových verzií:

 

ver. 1.01          - 22.12.2019
ver. 1.02  - 08.01.2020
ver. 1.03  - 04.01.2021
ver. 1.04   - 02.02.2021
ver. 1.04e - 20.03.2021
ver. 1.04g - 18.05.2021
ver. 1.05a - 02.06.2021
ver. 1.05b - 02.08.2021
ver. 1.07  - 10.12.2021
ver. 1.09  - 02.06.2022
ver. 1.09p - 09.08.2022
ver. 1.10 - 28.03.2023
ver. 1.10n - 26.07.2023
ver. 1.10s(pecial) - 24.12.2023
ver. 1.11(AIO) - 31.12.2023


Všetky verzie programu už v jednom balíku:

Prom programmer all versions_31122023.zip (468,24 kb)


Ešte pridám toto upozornenie:


Pozor na to, že pred spustením programovacieho softvéru môže stav signálnych liniek portu aktivovať relé a pustiť do programátoru napaľovacie napätie.

Bezpečný spôsob použitia je spustiť vlastný program a až potom na výzvu v programe zapnúť vlastný hw pogramátoru !

___________

12.09.2023

Urobené opravy vo všetkých programových verziách kde som chybu našiel - namiesto nesprávneho slovíčka lenght je už správne použité length ... ako sa ukazuje prsty mi dosť často predbiehajú hlavu ... chyby kde to ešte náhodou nájdete - láskavo to prosím prehliadnite, alebo si to v danej verzii sami opravte, ďakujem.

____________

Do všetkých zverejnených verzií bola dnes tiež spätne aplikovaná lepšia kontrola CRC, zmena v programe sa týkala úpravy v 2 programových riadkoch - a to v č.8776 a č.8777.

__________________________________________________________

22.09.2023

- do verzií 1.09, 1.09p, 1.10 a 1.10n boli spätne aplikované nasledovné úpravy:

  a. - celkom nový spôsob testovania povolenej dĺžky PGM pulzu

  b. - nový spôsob testu stlačenia klávesy "C" pri spúšťaní Capture v Hypertermináli

__________________________________________________________

22.10.2023

Do archívu všetkých vydaných verzií bol dnes pridaný aj diagnostický software pre testovanie v prípade nejakých problémov s hw časťou samotného programátoru PROM 74188.

__________________________________________________________

24.12.2023

Do archívu pridaná verzia 1.10s(pecial).

__________________________________________________________

31.12.2023

Do archívu pridaná verzia 1.11(AIO).

___________________________________________________________

 

SBC6502 + PROM 74188 programmer

 

Táto sekcia je určená už len pre tých ktorí radi vedia čo sa deje vovnútri ...

(Pre vlastnú prácu to ale nie je potrebné vedieť.)

 

Použité adresy pre prácu s čipom 8255A /3x 8-bitová brána/, tu sa v adresácii nič nemenilo:

___________________

riadiaci register PCW:adresa 32771d /8003h/, 137 - nastaví porty A a B port ako výstupné, port C je vstupný

(POKE 32771,137)

___________________

adresa:32768d /8000h/, výstup

          port A - bity 0,1,2,3,4 - vývody adries A,B,C,D,E vlastnej PROM 74188         

          bit 5 - ovládanie CS(neg.) PROM
          bit 6 - ovládanie prog.pulzu z 5V/10.5V/5V
          bit 7 - ovládanie relé na On/Off pre pin 16 (Ucc) PROM 74188

          ovládanie sa prevádza pomocu príkazu POKE

___________________
adresa:32769d /8001h/, výstup:
port B - bity  0,1,2,3,4,5,6,7
          ovládanie tranzistorov T1÷T8, ktoré spínajú výstupy portu B do 0 pri programovaní,
          pamäť PROM 74188 sa programuje postupne v rámci bytu vždy iba po bitoch, vždy
          je zopnutý v jednom okamžiku iba jeden bit, v jednom momente spína iba jeden
          tranzistor BS170, ovládanie sa prevádza pomocu príkazu POKE

___________________

adresa:32770d /8002h/, vstup:
port C - bity  0,1,2,3,4,5,6,7
         čítanie obsahu PROM, čítanie obsahu PROM po naprogramovaní
         ovládanie sa prevádza pomocu príkazu PEEK

___________________


Od verzie 1.09 a 1.09p programového vybavenia sa používajú

nové pamäťové miesta:


Staré umiestnenie - verzia 1.01 až 1.07:

Umiestnenie pamäťových pozícií je nastavené v prvom programovom riadku:

adresy 31000÷31031d a 32032÷32039d

uveďme si príklady:

verzia 1.04:

1000 CLEAR:PD=31000:PE=31032:POKE 15,80:REM 80 column.

verzia 1.05:

1000 CLEAR:PD=31000:PE=31032:POKE 15,80:B$="0123456789ABCDEF"

verzia 1.07:

1000 CLEAR:PD=31000:PE=31032:POKE 15,80:U=1:DV=2.25:PP=17*U:LG=1.5

(tieto adresy som historicky udržiaval, pôvodne tam bola rezerva na spracovávanie 256 bitov naraz /rozloženie 32byte na jednotlivé bity, bolo by treba 256 byte/, ale od toho som už dávno upustil, zvolené umiestnenie pritom nerobilo problém ani v jednej doterajšej verzii a tak som to ponechal ako to bolo, to že som to riešil v premenných /vďaka tomu je to relokovateľné/ tak to bola príprava na možné uvoľnenie zvoleného pamäťového priestoru - a dnes na to došlo)

 

Nové umiestnenie pamäťových miest - verzie 1.09 a 1.09p (a vyššie):

Hodnota je posunutá smerom nahor a to o celých 1500 byte, teda používajú sa nové adresy 32500÷32531d a 32532÷32539d.

1000 CLEAR:POKE 15,80:PD=32500:PE=32532:U=2.53:DV=5:PP=17*U:LG=1.5

(na funkčnosť programu premiestnenie týchto adries nemá vplyv, ide to cez použité premenné, takže táto zmena je veľmi jednoduchá, zmenia sa čísla len v 2 premenných - ale uvoľní sa týmto posunom celých 1500 byte RAM, síce to nie je z hľadiska funkčnosti potrebné, ale urobil som to - je to úprava v programe, nakoniec ak to funguje tomu kto sa v tom nechce vŕtať je to jedno, program funguje aj pôvodnom stave - a aj v novom Laughing, kto neverí môže skúsiť zadať pôvodné hodnoty umiestnenia, program stále pobeží bez najmenších problémov)

(Použité ukážky riadkov sú vždy pre konkrétny použitý x-tal = 4.000MHz)

 

Prišlo k zmene dôležitých adries RAM pre programátor PROM 74188 verzií 1.09 a 1.09p - tak tu je ich prehľad:

 

adresa:                   obsah:
 

32500(d) ;           32 byte - obsah = Data riadky 9001 ÷ 9004
    ...          ;                            rozsah 32500d÷32531d  
    ...          ;      Vždy sú tu uložené iba údaje z týchto Data riadkov !
    ...          ;         Údaje sú vždy nanovo načítané ak je na displeji
    ...          ;         zobrazené MENU. Tu sa vždy nachádzajú  DATA
32531(d) ;                       pre napálenie do PROM 74188.                
                  _____________________________________________
                 ;                     nasleduje rozsah 32532÷32539d,
                 ;                         tu je  umiestnená rozložená
                 ;               bitová postupnosť obsahu jedného byte,
                 ;              takto to bit po bite napaľuje programátor
                  _____________________________________________
32532(d) ;              rozklad - one byte to bit, pozícia bitu 0
32533(d) ;              rozklad - one byte to bit, pozícia bitu 1
32534(d) ;              rozklad - one byte to bit, pozícia bitu 2
32535(d) ;              rozklad - one byte to bit, pozícia bitu 3
32536(d) ;              rozklad - one byte to bit, pozícia bitu 4
32537(d) ;              rozklad - one byte to bit, pozícia bitu 5
32538(d) ;              rozklad - one byte to bit, pozícia bitu 6
32539(d) ;              rozklad - one byte to bit, pozícia bitu 7

 

Iné adresy ako tu uvedené sa vo verziách 1.09 a 1.09p nevyužívajú.

___________________________________________________________________

 

Doplňujúci údaj ktorý platí iba od verzie 1.10n (a vyššie):

 

- vďaka tomu že sa teraz v programe testuje ktorý byte konkrétne treba napáliť nanovo tak pre túto novú kontrolu je potrebných v programe použiť dodatočných 32 byte pamäte RAM, používa sa rozsah na nových zvolených adresách 32540d÷32571d, čiže na konci RAM stále zostáva ešte voľných 196 byte (voľné miesto pre stack ?), zatiaľ sa voľná hodnota na konci RAM ukazuje ako dostatočná, ostatné rozsahy použitej RAM platia naďalej tak ako bolo popísané pri verziách 1.09 + 1.09p

 

Nové, doplnkové adresy 32540(d)÷32571(d) sa používajú od verzie 1.10n:


32540(d) ;             1. kontrolný byte pre 2 kolo programovania ak nie je správne naprogramovaný v 1 kole

32541(d) ;             2.                                                                             -//-

32542(d) ;             3.                                                                             -//-

32543(d) ;             4.                                                                             -//-

...                                                                                                             ......

...                                                                                                             ......

32571(d) ;           32. kontrolný byte                                                -//-

____________________________________________________

 

Pripomeniem čo nastavujú premenné použité v riadku 1000:

 

  U -  konštanta pre prepočet rýchlosti ktorá platí pre hodnotu dĺžku pulzu =1msec,

       (konštanta platí vždy pre konkrétny použitý x-tal), využíva sa aj pri voľbe (L)

DV - konštanta, ktorou sa prepočítávajú všetky čakacie programové slučky (mimo vlastného PGM

        pulzu), vďaka tomu je možné adaptívne meniť pre rozličné hodnoty clocku správne dĺžky

        čakacích programových slučiek

PP - premenná, ktorá nastavuje štandartne dĺžku PGM pulzu v 1.kole na 17ms (vzorec: PP=17*U)

       (platí vždy pre konkrétny použitý x-tal)

LG - premenná, (new PGM pulse) ktorá určuje dĺžku PGM pulzu pre druhé kolo programovania, je to

       výsledok PP=PP*LG, teda v druhom kole bude výsledný PGM pulz 1.5x dlhší

 

Upozornenie:

Pri testoch sa ukázalo že posun dát až na úplný koniec RAM (skúsil som použiť adresy 32700 a 32732d) nie je celkom dobrý nápad (pri testoch sa tu prepisovali údaje - žeby stack ?) a preto som to umiestnil takto a nechal na konci dostupnej RAM ešte nejaký voľný priestor (jedná sa momentálne o 228 byte voľnej RAM. Poznámka: tento údaj klesne ešte o -32byte od verzie 1.10n), pri takto nastavenom využití RAM to beží korektne a bez najmenších problémov. Ako sa ukázalo nejakú RAM úplne na konci pamäťového priestoru využíva Basic pri niektorých veciach, takže ak s tým počítam tak sa žiadne problémy nekonajú Foot in mouth - možno tento poznatok bude niekomu užitočný.

Dosť obmedzujúcim faktorom je malá povolená dĺžka programového riadku - 72 znakov, inak by sa program program dal napísať omnoho efektívnejšie. Napriek tomuto obmedzeniu som si práve preto povedal že tento SBC6502 na to aj tak má a že to dokážem "rozbehať" aj na takomto starom počítači.

(Asi najzaujímavejšie na starších verziách je v REM riadkoch kompletný popis toho čo sa práve deje, v novších verziách v rámci úspory celkovej dĺžky programu je popis už vynechaný a REM riadky boli z programu odstránené. Z toho plynie že v starších verziách sa dá celkom dobre "vŕtať" a upravovať. V novších verziách "samodomo" úpravy programu už veľmi neodporúčam, bez popisu sa dá naozaj ľahko v programe "stratiť".

 

Ešte malá štatistika:

V budovanej verzii programu 1.10 je napríklad volanie príkazov GOSUB použité 111x, GOTO 61x, IF THEN 98x, PRINT /?/ 149x, FOR - NEXT 16x, tieto údaje sa nebudú veľmi líšiť od verzií 1.09 a 1.09p, ak áno tak len veľmi mierne. Ak bude niekedy dostupní nejaká novšia verzia tak tam asi bude tých volaní ešte viac ...


Doska samotného programátoru PROM 74188.

____________________________________________________

Vaše hodnotenie, Rate post:

Atari kupuje webovú stránku AtariAge.

By Administrator at septembra 08, 2023 18:47
Filed Under: Atari

 

No, dejú sa veci ... podrobnosti na uvedenom odkaze:

https://www.gamesindustry.biz/atari-acquires-atariage

Nuž či to bude prínosom, to len uvidíme, takže vydržme pár dní ... a uvidíme či nastúpia zmeny (či už k lepšiemu alebo naopak). Nezostáva len držať palce dobrému a kontinuálnemu fungovaniu tejto jedinečnej stránky.

_____________________________________________________

Vaše hodnotenie, Rate post:

Úprava zdroja PC Asus Pundit P1. Modification PSU PC Asus Pundit P1.

By Administrator at septembra 07, 2023 13:40
Filed Under: Non-Atari

Počítač Asus Pundit P1 síce spoľahlivo funguje po celú dobu čo ho mám - ale má jeden problém v zdrojovej časti. Pri pripojení káblu napájania do siete sa často ozvalo celkom silné "zadrnčanie" ako sa nabíjala kapacita zdroja (a to aj bez jeho zapnutia). Zjavne tu v jednom okamžiku tečie hodne veľký prúd, dokonca sa mi už párkrát stalo že ak bežalo niečo v elektrickej sieti čo má veľký odber (práčka, sušička a pod.) a zapol som počítač tak mi zhodilo istič. No, bolo na čase s tým niečo urobiť, je to šikovný (malý) počítač, bolo to pri používaní celkom významné obmedzenie.

 

Asus Pundit P1

 

Celkom sa mi pozdávalo riešenie zabudovať niečo na spôsob výkonového odporu ktorý premostí po krátkej dobe relé (napájané by to bolo 12V/DC priamo do zdroja), ale ukázalo sa že použitý zdroj je svojou kubatúrou tak malý a zároveň tak plný že bolo treba hľadať podstatne jednoduchšie riešenie, nenarval by som to dovnútra - a to ani náhodou. (V klasickom zdroji by sa to bez problémov zmestilo.) Predbežná prehliadka zdroja nejakú zabudovanú prúdovú ochranu neodhalila. Jednoduché riešenie od začiatku samozrejme existuje (súčiastku som mal doma pripravenú) a to v podobe súčiastky NTC termistor THT 22R, teda termistoru ktorý sa pripojí sériovo do vstupu sieťového konektoru priamo v zdroji (zrozumiteľne - je zapojený v sérii z napájacím zdrojom). Funkcia je známa - po zahriatí klesá jeho odpor na hodnotu blízku nule, t.j. pri štarte obmedzí prúd na prijateľnú hodnotu a potom už počas práce nás nijako neobmedzuje.

Ľahko sa hovorí, či lepšie v tomto prípade píše, ale vybrať zdroj a rozobrať ho bola vcelku fuška. Zdroj sa skladá zo 4 častí ktoré sú vzájomne prepojené a nedajú sa celkom od seba oddeliť ... fakt chuťovka. Je to daň za to že zdroj je mimoriadne malý. Bacha na šróby zdroja, niektoré sú samorezné a niektoré majú závit M3, nezamieňať ich medzi sebou ! Na zadnej strane zdroja trošku miesta predsa len je a tam som si vyhliadol prichytiť spomenutý termistor. Odpojil som pôvodný prívodný káblik na sieťovom konektore (prívod fázy, hnedý) a prepojil ho na jeden vývod termistoru. Druhý prívod termistoru som napojil na pôvodné miesto na konektore napájania dodatočným novým hnedým káblikom, prívody káblikov sú potom prekryté samozmršťovacou bužírkou. Samotný termistor je umiestnený na malej pomocnej doštičke plošného spoja ktorá je šróbom s pérovou podložkou (šrób je na doštičke izolovaný voči kontaktom termistoru) uchytená priamo na zadnej stene zdroja. Zvolené miesto zabezpečuje dobrý prístup vzduchu na terčík termistoru. Pozor na dobrú izoláciu tejto pomocnej doštičky, robí sa tu zo sieťovým napätím !

 

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.

 

Termistor má na prívodoch teplom zmrštiteľnú modrú bužírku,

je vzdialený cca 8 mm od zadnej steny (mriežky) zdroja.


Fajn, hotovo, pekne som to poskladal, zošróboval, uchytil na svoje miesto, pozapájal kabeláž vovnútri PC - a potom som si všimol že som na stole nechal izolačnú kartu určenú pre jednu dosku z už naspäť poskladaného a na svoje miesto založeného zdroja ... (zostalo to pod počítačom). A tak sa zase kompletne rozoberalo. Odpojiť kabeláž, vybrať zdroj, rozšróbovať, nasadiť izolačnú podložku na jej miesto a v opačnom garde zase všetko zopakovať. Vzhľadom k tomu že som to už raz otvorené mal tak to išlo naozaj rýchlo, nič človeka nepovzbudí tak dokonale ako keď musíte vďaka svojej blbosti urobiť prácu odznova ... zaujímavé, žiaden šrób navyše mi po práci nezostal (a že ich tam bolo hodne).

Smile

 

Dtto, otočené o 90°. Je vidieť že v okolí  osadenia termistoru je predsa len

nejaké to voľné miesto na jeho umiestnenie.

 

Pri práci vovnútri zdroja počítajte s tým že je to prostredie kde je už celkom slušné striedavé a jednosmerné napätie, takže si najprv chvíľu počkajte než sa kapacity vybijú alebo zabezpečte aby boli kapacity náležite vybité - život máte len jeden. Úpravu je treba previesť bezpečne a tak aby nebolo možné prísť k nebezpečnému dotyku.

 

Nezabudnite dobre uložiť IDE káblik, tak ako je na obrázku účinne bráni

prístupu vzduchu pre ventilátor v zdroji. Treba ho posunúť smerom ku

DVD mechanike, ide to bez najmenších problémov.

 

Po opätovnom skompletovaní som PC pripojil do siete. Žiadne hlasné "DRRRRnnnn" sa už neozvalo, ani náhodou. Počítač beží, všetko funguje tak ako má a teraz žiadne príliš veľké prúdové nárazy nehrozia pri zapojení zdroja do siete a tak isto ani pri následnom zapnutí PC - a to som chcel. V tejto úprave počítač už beží dlhšiu dobu a nezaznamenal som žiadne problémy v prevádzke.

Ako sa ukázalo - počítač mal v sebe z výroby zabudované kurvítko, tu sa ho ale podarilo vhodnou modifikáciou zdroja prekabátiť.

Ešte sa patrí dodať parametre PC - je to Celeron 2.66GHz, RAM 2GB, HDD 500GB, integrovaná grafika, k dispozícii je tu sériový a paralelný port, OS - WinXP spolu s vyhradenou 2GB partíciou pre DOS. Jeho zameranie je na programátory a DOS-verzie programov, takže jeho udržanie v dobrej kondícii je skutočne v mojom záujme.

____________________________________________________________

Vaše hodnotenie, Rate post:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part2.

By Administrator at septembra 04, 2023 09:50
Filed Under: Non-Atari

Programátor PREPROM-02aLV.


Dnes sa pozrieme na prepojovací káblik pre programátor na paralelnom porte - zapojenie pinov je 1:1 (tzv. direct pin), t.j. v kábliku ide 25 samostatných vodičov. Prepojovací parport káblik PC↔PREPROM-02aLV môže mať dĺžku v rozmedzí 0.85÷4m čo by malo postačiť každému. Ukončovacie odpory spolu s paralelnými kapacitami sú už zabudované priamo vovnútri programátoru PREPROM-02aLV, čiže tu nám nejaká ďalšia možná starosť s prispôsobením kábliku nehrozí.

Rovnako dobre na tomto mieste poslúži aj pripojovací káblik pre paralelnú ZIP mechaniku, zapojenie kábliku je identické - len treba rátať s tým že tento káblik má dĺžku zvyčajne necelý 1 meter.


 

Ešte pripomeniem článok ako sa dá zdvihnúť rýchlosť programovania pre programátory ktoré používajú paralelný port - PREPROM-01, PREPROM-02 a PREPROM-02aLV:

Programátor /programmer/ PREPROM-02. Part 6. Zrýchlenie programovania.

 

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.


Pár slov k napájacieho zdroju pre programátor:

 

Ideálnym riešením je namiesto originálneho napájacieho nestabilizovaného zdroja 12V/DC použiť spínaný zdroj 15V÷16V/DC/1A s polaritou mínus pólu na strednom kolíku, podstatne sa zníži namáhanie interného zdroja vovnútri programátoru. Firma Elnec odporúča použiť spínaný zdroj 15V/1A. Osobne mám k dispozícii zdroj 16V/DC od IBM pre notebooky rady ThinkPad ktorý sa dá priamo po zmene polarity na jeho výstupe použiť, pritom je schopný dodať podstatne väčší prúd ako treba (3.36A), no čo - ak dáva viac ampér ako treba - tak ho predsa kvôli tomu nevyhodím. Programátor má priamo v sebe zabudovanú ochrannú diódu, t.j. ak pripojíme napätie nesprávnej polarity nič horšieho sa nestane ako to že zariadenie sa nespustí (toto riešenie kvitujem, skutočne chráni pripojené zariadenie). Štandartne postačuje ak máme k dispozícii zdroj ktorý dodá prúd minimálne 0.5A, jedine ak chceme v programátore použiť aj prídavné moduly tak je potom treba rátať niekedy s príkonom až dvojnásobným, hlavne pri použití modulu 008 pre PREPROM-02 a modulu 2708 pre PREPROM-02aLV. Toto ale ako problém nevidím, pretože dnešné dostupné spínané 15V/DC zdroje majú hodnotu dodávaného prúdu určite minimálne 1A , skôr sú schopné dodať ešte väčší prúd.

 

Zdroj IBM ThinkPad 16V/DC/3.336A je vhodný na papájanie ELNEC zariadení.

(Samozrejme po zmene polarity jeho koncovky.)

 

Samozrejme na napájanie programátoru je možné použiť aj nestabilizovaný zdroj. Doma som našiel šikovný zdroj nestabilizovaného napätia 12V/DC s pekným transformátorom schopným dodať na svojom výstupe viac ako 1A (na výstupe má nasadenú poistku 1.6A). Naprázdno som na jeho výstupe nameral DC/17.12V, t.j. mimoriadne dobre sa hodí práve na napájanie programátorov ELNEC, pretože je to už tzv. tvrdý zdroj. Čím je zdroj mäkší, tým výraznejšie sa mení jeho výstupné napätie pri zaťažení. Zase ešte je treba dodržať požadovanú polaritu na jeho výstupe. (Ešte teraz nájsť k nemu nejakú peknú krabičku ... a zdroj môže byť nasadený do prevádzky.)


Ďalší zdroj ˜230V/AC→DC/12V/nestabilizovaný.

Vľavo je domáca pomôcka pre pripojenie rozličných zdrojov na 230V, je tu tiež

zaradená ochranná poistka pre primár transformátoru., dtto platí aj pre sekundár.


Tu by som všeobecne odporúčal zabudovať do zdroja aj sieťový vypínač a tak isto urobiť aj indikáciu toho že je zdroj už v sieti (LED). V tzv. kalkulačkových zdrojoch sa to nedá rozumne zrealizovať, tu ale áno. Osobne preferujem možnosť úplného vypnutia zdroja bez potreby vyťahovať jeho vidlicu zo zásuvky.

_________________________________________________________________

09.09.2023

Dnes som vyhrabal v pivnici tento dobre odložený zdroj, naprázdno dáva cca 19.1V/DC ... ta isto je tiež bezproblémovo vhodný pre programátory ELNEC - teda zase po potrebnej zmene polarity na jeho koncovke (koncovka na programátor priamo pasuje). Tak som sa pustil do prerábky.

 

Ďalší zdroj pre napájanie Elnec zariadení. Prehodil som prívody kábliku priamo v krabičke zdroja, teda mám už zmenenú polaritu na jeho výstupe. (Krabička má šróby, je tam jednoduchý prístup.) Ešte zmením označenie na obale.

 

Výsledok po prerábke + je tu jasné označenie že je to určené pre ELNEC zariadenia.

______________________________________________________

A čo záverom?

Všetky tu uvedené zdroje s prehľadom zvládajú napájať programátory PREPROM-02, PREPROM-02aLV, SIM2051 a pod. a to aj k nemu pripojené rozličné doplnkové nadstavbové moduly (adaptéry), čiže nič ďalšieho už potom pri práci netreba.

Ako vidieť pre prácu s programátormi ktoré fungujú cez paralelný port (na rozdiel od pripojenia programátoru na USB port a šlus, hotovo) je v dnešnej dobe treba zapojiť "akosi priveľa" ďalších vecí, ale ak to dáte dohromady a spustíte - a funguje to, tak príjemný pocit sa určite dostaví - zase tiež treba brať do úvahy že niektoré čipy na moderných programátoroch už jednoducho nenájdete a tak práci s uvedenými programátormi sa chtiac nechtiac asi nevyhnete - akurát treba rátať s o niečo väčším potrebným miestom na pracovnom stole, ale pri dobrej organizácii sa to dá zvládnuť.

_____________________________________________________________

1.časť:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part1.

3.časť:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part3.

______________________________________________________

Vaše hodnotenie, Rate post:

09_2023 Blog, Notes.

By Administrator at septembra 03, 2023 12:49
Filed Under: Blog

03.09.2023

Doplnená prvá Win verzia programu pre programátor PREPROM-02, celkom sa to rozrástlo ...

(verzia 1.38a/03.2002)

Programové vybavenie pre PREPROM-01 a PREPROM-02.

____________________________________________________

04.09.2023

Ešte pár slov k programátoru PREPROM-02aLV:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part2.

____________________________________________________

07.09.2023

Úprava zdroja PC ASUS Pundit  P1, predtým niekedy dokázal zhodiť istič:

Úprava zdroja PC Asus Pundit P1. Modification PSU PC Asus Pundit P1.

____________________________________________________

09.09.2023

Dnes v pivnici nájdené (dobre založené) 2 zaujímavé veci:

- starý ručný programátor pre PROM 74188, tak som ho aspoň vyfotil a dal foto do 4.dielu o programátore PROM 74188

- paralelná IOMEGA ZIP 100 mechanika spolu s napájacím zdrojom a paralelným káblikom (toto som si fakt nepamätal že to vlastním, bolo to tam odložené aspoň 20 rokov) médiá mám, po pripojení k WinXP ktoré majú nainštalovaný SP2 a následnej aj  SP3 je disk okamžite rozpoznaný bez potreby inštalácie ovládača, toto som si už fakt nepamätal že to takto priamo funguje, naozaj príjemné zistenie.

Dodatok:

- programátor dodnes funguje, overené

- ZIP-ka funguje tak isto, aj po tých rokoch

___________________________________________________________

12.09.2023

Pretože to už začalo byť mierne neprehľadné tak som pre pre komplety všetkých dostupných programových verzií + popis dôležitých adries pre programátor PROM 74188 vyhradil samostatný článok (asi som to mal urobiť už dávno ...):_

SBC6502 - 66 - PROM 74188 - všetky verzie programu, all program version.

____________________________________________________

26.09.2023

Nejaké tie doteraz získané skúsenosti pri práci s programátorom PREPROM-02aLV:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part3.

___________________________________________________________

Vaše hodnotenie, Rate post:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part1.

By Administrator at augusta 28, 2023 10:00
Filed Under: Non-Atari

Život ustavične prináša prekvapenia - síce sa nepovažujem za nejakého extra nadšeného fanúšika fy. ELNEC ale doma mi pristálo ďalšie zariadenie ktoré pred mnohými rokmi v Prešove vyrábali - a to programátor PREPROM-02aLV. Jeho určenie je už pre menšie podniky a vyniká rýchlosťou programovania. Prekážkou v dobe kedy sa vyrábal bola veľmi vysoká cena zariadenia - daná fakticky vtedajším monopolom na Slovensku, takže vtedy si to naozaj poväčšine kupovali do podnikov, súkromníkov asi bolo pomenej, treba vziať do úvahy že vtedy zariadenia na programovanie skutočne stáli majlant.

Výroba programátoru skončila asi v období 10/2005, programová podpora bola funkčná do 04/2015, datovanie začiatku výroby ? (Možno rok 1995, prvé dostupné programové vybavenie čo mám doma pochádza z roku 2002 - a nie je úplne prvé ktoré bolo určené k tomuto programátoru.)

 

Programátor PREPROM-02aLV.

 

Zariadenie sa nachádza v masívnej kovovej krabičke a teda je hodne odolné proti nárazom, aj vďaka svojej váhe (cca 625g) po pripojení káblom na paralelný port "necestuje" po stole, pomáhajú tomu aj nožičky z gumy (i keď tie pôvodné už majú niečo za sebou). Zmenil sa spôsob komunikácie, už sa neprevádza na parporte prevod na sériovú postupnosť údajov, tu už všetko beží priamo cez predlžovací paralelný káblik, jeho podrobnostiam (hw) sa budem venovať v ďalšej časti. Z uvedeného je jasné že na komunikáciu potrebujeme mať PC (notebook) "vyzbrojené" paralelným portom. Mám potvrdené od pôvodného majiteľa že prepojovací káblik PC ↔ PREPROM-02aLV môže mať dĺžku až 4 metre a pritom obojsmerný prenos dát pri uvedenej dĺžke kábliku funguje "bez ztraty kytičky", osobne používam kábel ktorý má necelý 1 meter, jeho dĺžka mi vyhovuje z priestorových dôvodov.

 

Nasledujúce dva obrázky PREPROM-02aLV som už dávnejšie našiel na webe,

ušetrilo mi to otváranie zariadenia ...

PREPROM-02aLV


PREPROM-02aLV

(Tu je vidieť hodne kolofónie po spájkovaní - majiteľom.)


Použitý napájací zdroj je 12V/DC/500mA nestabilizovaný, na strednom kolíku konektoru je mínus pól napájania, toto je známa klasika u fy. ELNEC. Jednosmerné napätie na výstupe zdroja naprázdno bezproblémovo dosahuje az na hranicu 20V/DC, dokonca u niektorých zdrojov (ak sú 14V/DC/nestabilizované) to ide až cez hodnotu 26V.

 

Tak sa na niektoré moduly pozrime (výčet nie je úplný):


Modul x48

Modul x48  - pre programovanie procesorov 87x41, 87x42, 87x48, 87x49, 87x50

Čo bolo pre mňa zaujímavým zistením že pre prácu s procesormi 8748 a 8749 je potrebné mať k dispozícii naďalej modul x48, síce si už nepamätám odkiaľ som vtedy mal informáciu k dispozícii že modul x48 je určený len pre prácu s programátormi PREPROM-01 a PREPROM-02, ale ako sa ukázalo nie je to tak - tu ho pre prácu s uvedenou radou procesorov potrebujete tiež. (Nakoniec - 40 pinový procesor do 32pin ZIF pätičky nenarvete ani náhodou (leda ak by sa "nadbytočné" nožičky odstrihliSmile), čiže niečo ako dodatočný modul rozhodne treba nasadiť, len som si myslel že sa bude jednať o iný modul s iným označením ako x48, mýlil som sa). Modul x48 sa už nevyrába a ani nedodáva.

 

modul 2708

To čo platilo v predchádzajúcom prípade už ale neplatí pre napaľovanie Eprom 2708 - je tu potrebný nasadiť úplne iný modul a to s novým označením modul 2708, je iný než ten čo používali programátory PREPROM-01 a PREPROM-02 - tam je označenie modul 008, keďže ja tieto "trojnapäťové potvory" vôbec nepoužívam tak to ďalej neriešim, len nato  upozorňujem, modul 2708 sa dá dodnes zakúpiť ale jeho cena je všetko iné ako ľudová ... (cca 130.- Euro).

Modul 2708 - je určený pre programovanie EPROM série 2708 a EPROM série TMS2716. Poznámka pre používateľov programátorov PREPROM-02aLV: Pre programovanie EPROM 2708 pomocou tohto modulu nepostačuje štandardné napájanie. Treba použiť silnejší zdroj napájania a to 12÷17VDC/>750mA, s vyvedeným mínus pólom na stredovom kolíku napájacieho konektoru.
  

modul 240-LV

Modul 240-LV - pre programovanie WORD EPROM (x 16) 27516, 27210 (271024), 27220 (272048), 27240 (274096) - adaptér pre programovanie NN systémov od 2.8V.

 

modul GAL-LV

Modul GAL-LV - pre programovanie GAL obvodov: 16V8, 20V8, 22V10, 6001, 6002 od výrobcov: AMI, AMD, Atmel, GOULD, Lattice, NS, SGS, Philips, Signetics, TI a VLSI,  programovanie NN systémov.

 

modul MCU1-LV

Modul MCU1-LV, je aj iný názov "modul PIC-LV" - programuje všetky MICROCHIP PIC, od 8÷40 pinov, rodina 12Cxxx, 14Cxxx a 16Cxxx.


modul 2051

Modul 2051 - pre  programovanie mikrokontrolérov AT89C1051/2051/4051 a AT90S1200.


modul 206x

Modul 206x - pre programovanie sériových EEPROM MDA2061 a MDA2062 od ITT Semiconductor.


modul z51

Modul z51 - programuje takmer všetky 40-pinové mikrokontroléry MCS51 (87C51, C52, C54, C58, C51FA, C51FB, C51FC, AT89C51, 52, 55, 87C528 atď.) programuje aj novšie mikrokontroléry rodiny MCS51 (Philips 87C51RD, 89C5xU, 89C51Rx).

(Mimochodom - neviete o niekom kto má voľný práve tento modul z51 ? Mám známeho ktorý ho už dlhšie zháňa a má doma PREPROM-02aLV - rád Vás navzájom skontaktujem.)  

 

Modulov je k dispozícii podstatne viac, stačí pozrieť do manuálu kde je vyznačené ktoré moduly sú k nemu určené a pre ktoré čipy ich treba. Kúpa modulov osobitne je vec aj v dnešnej dobe mimoriadne nákladná a pokiaľ nemáte pri kúpe už všetko v jednom balíku tak sa to v dnešnej dobe skutočne neoplatí - a pritom dnes extra iba moduly predáva málokto, to by ste museli mať naozaj terno. Pred pár rokmi sa dali aj moduly celkom dobre zohnať, dnes je to s to s dostupnosťou už o poznanie horšie.

Zase raz - osobne žiadne moduly nepotrebujem, mám doma len jeden modul a to modul x48 (a ten som už skutočne niekoľkokrát využil), pre ostatné veci mám doma ďalší programátor - TL866 II a tak isto aj USBprog (aha - skoro by so zabudol - mám aj PREPROM-02, čo je jeho predchodca.)

 

Zásadnou zmenou je možnosť priamo sériovo programovať pamäte Eprom (aj iné, samozrejme, teda ak máte k dispozícii príslušný modul), je na to na zariadení priamo jedno tlačítko (YES!) čo takýto režim povoľuje.


Na stránkach fy. ELNEC je k dispozícii na stiahnutie (a to aj teraz) celkom slušná škála programových verzií určených pre tento programátor. Posledná platná verzia je 3.15h, je z roku 2015, teda dostupný software pre PREPROM-02aLV je o celých 7 rokov mladší ako existuje pre programátor PREPROM-02. Po inštalácii program zaberá na disku viac ako 150MByte. Na ich webe síce nie sú všetky tu uvedené verzie ktoré vlastním - najlepšie je ale samozrejme pri nasadení použiť verziu najvyššiu (a teda najnovšiu) - a tá tam stále dodnes dostupná je.

Ak sa inštaluje novšia verzia programu automaticky sa odinštaluje predchádzajúca staršia verzia, toto je programovo veľmi dobre obslúžené.

 

Verzie programového vybavenia pre programátor PREPROM-02aLV ktoré vlastním:

 

Dôležité upozornenie - pre plné využitie rýchlosti programátoru PREPROM-02aLV je

potrebné prestaviť paralelný port na ECP alebo EPP komunikáciu - najlepšie vyskúšať.

 

Verzia programu 3.15h komunikuje s WinNT, Win2000 a tiež s WinXP, či funguje pod WIN98 neviem, neskúšal som, ale mal by fungovať tak isto. Vo verzii 3.15h (pg4uwarc315.exe) je programátor plne funkčný pod WinNT, Win2000 a WinXP aj s modulom x48. Inak povedané - naprosto bezproblémovo funguje pod 32bit Windows.

Pod WIN7 32bit som zariadenie neskúšal, nemám počítač (ntb) s paralelným portom.

Pripomeniem - posledná verzia 2.51 ktorá bola ešte pre programátor PREPROM-02 - konkrétne s ním už neumožňovala pod WinNT, Win2000 a WinXP prácu s modulom x48, bolo treba ísť do Win98 alebo do niektorej z DOS verzií. Pritom jeho nasledovník PREPROM-02aLV funguje bez problémov aj pod celou radou 32bit WinNT (žeby za tým bola obchodná politika ktorá zákazníka vytrvale smerovala ku kúpe nového zariadenia ?) ...

 

Posledná vydaná Win programová verzia pre PREPROM-02aLV - ver.3.15h

 

Manuál (sk) pre PREPROM-02aLV:

nnopg_sk_2005-08.pdf (3,94 mb)

(Je určený pre viaceré typy programátorov, manuál pre PREPROM-02aLV začína na strane 79.)

 

Aby toho nebolo málo, vďaka predchádzajúcemu bádaniu na stránkach firmy grifo.com som mimo iného objavil že aj tento programátor sa predával v Taliansku - a to pod inou značkou - a to ako EP32 (Elnec Programmer 32pin ?)

Programátor EP32.

Manuál EP32:

P32.PDF (1,19 mb)

(Anglická verzia manuálu je od strany 47.)


Programátor v základnej výbave obsahuje aj tzv. diagnostický POD, t.j. hlavicu ktorá sa nasadí do ZIF pätičky a je možná diagnostika a nastavenie programovacích (rozhodovacích) napätí. Ja tento diagnostický POD nevlastním, nie je to na prekážku používania, programovať sa dá aj bez ďalšieho nastavovania. Samozrejme si ho skúsim zohnať - a keď nie aspoň si ho vlastnoručne vyrobiť (poznámkan po čase: zohnal som ho ...).

diagnostic POD - 32pin: foto Caga


diagnostic POD - 32pin: foto Caga

(Ďakujem autorovi za poskytnutie fotografií.)

 

Ešte pridám zoznam podporovaných obvodov:

Preprom02_aLV_DEV.txt (285,39 kb)


Už som spomenul - v dnešnej dobe kupovanie samotných prídavných modulov k programátoru veľmi nedáva zmysel - sú  väčšinou o poznanie drahšie ako samotný programátor, iba ak sa nám jedná o nejaké špecifické určenie. Ak ho zoženiete spolu s modulmi tak je to O.K., samotný programátor je priamo bez ďalšieho vhodný pre programovanie Eprom pamätí rady 2716 27080, t.j. je vhodný pre nasadenie pre majiteľov starých 8bitových počítačov, tí ktorí potrebujú napaľovať Epromky 2708 sú na tom už o poznanie horšie, bez modulu 2708 sa nezaobídu ...

Zariadenie sa na bazoši dá stále zohnať, nebýva tam síce k predaju každý deň, ale pri troche snahy sa dá zohnať a to za rozumnú cenu.


Odkaz na špecifikáciu a podrobnosti o výrobku na stránkach výrobcu:

https://www.elnec.com/sk/products/device-programmers/preprom-02alv/


Dodatok:

Ešte staršie programové vybavenie vhodné aj pre PREPROM-02aLV mám na tomto odkaze (ktorá verzia je vhodná na použitie je tam vyznačené):

Programové vybavenie pre PREPROM-01 a PREPROM-02.

______________________________________________________

Dodatok 14.11.2023:

Nedalo mi, dnes som sa otočil na Ing.Pôbiša z firmy Elnec a mal som 2 otázky:

> Zaujímalo by ma čo podnietilo tento názov a čo skratka aLV v názve vlastne značí ?
"a značí ďalšiu verziu programátora, pokračovanie LV je low voltage v zmysle vylepšenia pre LV obvody"

> Talianska firma Grifo ?
"Talianske Grifo bol náš ODM partner, teraz je to distribútor."

Za poskytnutie odpovedí na tieto 2 otázky majiteľovi firmy ďakujem.

______________________________________________________

2.časť:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part2.

3.časť:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part3.

______________________________________________________

Vaše hodnotenie, Rate post:

SIM2051 - simulátor pre 89C2051 + programátor 89Cx051.

By Administrator at augusta 21, 2023 09:48
Filed Under: Non-Atari

SIM2051 - simulátor a programátor 89Cx051.


V poslednej dobe sa nejako častejše a častejšie stretávam s výrobkami fy. ELNEC. Pred pár dňami (16-teho t.m.) som sa stal majiteľom zariadenia SIM2051 čo je simulátor pre procesory 89C2051 a zároveň aj programátor pre 89Cx051. Zariadenie som získal v holom stave, t.j. bez napájacieho zdroja, prepojovacieho kábliku pre PC↔SIM2051 a tak isto bez manuálu. Zariadenie sa vyrábalo v období 1997/2005 ? čiže už pomaly - pomaličky patrí medzi old výrobky. Ako vidieť na úvodnom obrázku môj kus má v sebe zabudovaný oscilátor 22MHz.


Nastala fáza hľadania uvedených vecí na webe, ale čoskoro som tvrdo narazil, fa. ELNEC mimo uverejneného softu už nič na svojich stránkach nepodporuje (nie je tam dostupný ani manuál k zariadeniu) a teda v tomto smere je to vec doslovne zarúbaná, vovnútri zariadenia sa nachádzajú jumpre a ich nastavenie do požadovaných pozícii bez manuálu je vec neriešiteľná. Skúsil som nasledovné - obrátil som sa na oldcomp.cz a našla sa tam dobrá duša čo pomohla - MilasPce mi potvrdil že prepojovací káblik PC↔SIM2051 je typu RS232, t.j. sériový, dovtedy som si myslel že to bude niečo na spôsob prevodu parport to serial (ako vidieť môj odhad netrafil).

 

"Vnútornosti" SIM2051.

 

MilasPce mi tak isto potvrdil že napájací zdroj je 12V/DC nestabilizovaný, na strednom vývode sa nachádza  - pól napájania, medzitým som to objavil tak isto (tušil som že to bude takto, pretože svojimi nestabilizovanými zdrojmi s prepólovaním výstupného konektoru na opačnú polaritu je fa. ELNEC povestná). Použitý dodávaný zdroj je pôvodne určený pre záznamíky tel. hovorov. Zdroj je "kalkulačkového typu" - Panasonic KX-A11 ktorý tiež používal mínus pól na strednom kolíku výstupného konektoru:

 

Použitý zdroj pre SIM2051. Zväčšil som to, aby bolo dobre vidieť polaritu

napájacieho konektoru.


Čo je zaujímavé - je povolený rozsah napájacieho napätia (DC 14÷25V/200mA).

 

Samozrejme som medzitým stále pátral - recenzia na stránkach hw.cz potvrdila použitie sériového kábliku (pri prvom čítaní článku som to prehliadol ...). Jediné ďalšie informácie som objavil na stránkach talianskeho časopisu Elettronica Flash z prelomu rokov 1997/1998. Takže tých dostupných informácií skutočne nie je mnoho. Nedalo mi, pozrel som si ten taliansky časopis skutočne už podrobnejšie a našiel som tam (mimo iného) zapojenie sériového kábliku pre prepojenie PC↔SIM2051:

 

Zapojenie RS232 kábliku pre SIM2051,

dĺžka kábliku = 2m, je odporúčané aby

nemal väčšiu dĺžku ako 3m.

 

Čiže už mi zostávala jediná vec ktorú som nevedel nájsť - manuál. Kde nič - tu nič. Na webe hlboké prázdno, ešte lepšie ako vákuum vo vesmíre. Potom ma napadlo zase ísť na tie talianske stránky (topiaci sa aj slamky chytá), pretože ako som už spomenul SIM2051 sa predával aj v Taliansku, perlička - v decembri 1997 tam stál presne 400.000.- lír a dodával sa tam tak isto pod názvom SIM2051. A v časopise som našiel adresu talianskeho predajcu - a tiež jeho webovú adresu, www.grifo.com. Skúsil som sa na jeho stránkach (aj po tých rokoch) poriadne popozerať - a našiel som tam aj manuál ! Zaujímavé je, že v Taliansku o niečo neskôr (rok 2000) už dodávali SIM2051 pod celkom novým názvom ako MPS 051. Manuál majú uverejnený na stránkach od roku 2000, chválabohu, 23 rokov odvtedy je celkom dosť - tá kontinuita podkladov toho čo poskytovali a poskytujú je obdivuhodná. Napriek všetkému som najprv zahmkal, taliančina fakt nie moja silná stránka, ale ako sa ukázalo v druhej polovici je manuál už v anglickej verzii, uff odľahlo mi, Italia - mi dispiace !.

 

Ešte jedno upozornenie - obidva programátory (SIM2051 aj MPS051) používajú zhodné programové vybavenie bežiace pod DOS-om - samorozbaľovacia inštalačka má názov SIM2051arc.exe. Posledná verzia programového vybavenia pochádza "z léta páně" - 13.08.2000, čiže už je to naozaj dosť dávno, predchádzajúce verzie programového vybavenia k dispozícii nemám. Program tejto verzie je stále dostupný na stránkach fy. ELNEC.

 

Rozbalené súbory z SIM2051arc.exe

(spolu s uvedeným súborom).

 

Text na obrazovke zase tvrdí že je to marec 2000 ..., vyberte si.

 

Simulátor  - umožňuje nahratie programu, jeho krokovanie, prehliadanie a zmenu obsahu pamäte a registrov. Nahratie programu je možné z binárneho alebo Intel HEX súboru.

Taliansko rok 2000 - programátor tu bol už pod názvom MPS 051 a ako výrobca je uvedená firma GRIFO. Mimo zmeny názvu je tu najviditeľnejším rozdielom oproti SIM2051 použitie úzkej 24 pin ZIF pätičky. Programuje 89C1051, 89C2051 a 89C4051. SIM2051 v staršej verzii nevie programovať posledný typ, teda 89C4051 (je to záležitosť firmware).


Treba si uvedomiť že čip 89C2051 (tiež 89C1051 a 89C4051) má len 20 pinov, ale použitá ZIF pätička má 24 pinov, potrebné založenie čipov do pätičky je jasne vyznačené priamo na samotnom zariadení.

 

No, dôvod zmeny názvu pri predaji v zahraničí mi osobne uniká (obchodné rozhodnutie ?), ale som rád že som to vôbec našiel. Mimochodom - u tých Talianov sú doteraz dostupné informácie ktoré dnes už z fy. ELNEC nevydolujete, ani bágrom. Prečo je to tak neviem, ale vie sa že je za tým zásadné rozhodnutie majiteľa firmy, je to hodne "zaujímavá" politika ohľadne výbehových produktov. Páči sa, nepáči sa - proste je to tak.

 

Komplet MPS 051 ktorý bol dodávaný firmou GRIFO.

(Jedna disketa software, druhá disketa je manuál.)

 

Spôsob nadviazania komunikácie, technické parametre prenosu, popis jumperov vovnútri zariadenia, technické údaje zdroja, odbery pri simulácii a pri programovaní, plus ďalšie potrebné údaje - toto všetko je podrobne popísané v manuáli (listujte až na stranu č.47 - tam začína anglická verzia manuálu):

Manuál MPS 051 (SIM2051):

MPS 051.pdf (1,30 mb)


Ešte detailný pohľad nastavenia pre jednotlivé jumpre.

______________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 65 - 3x processor clock + clock 6850.

By Administrator at augusta 11, 2023 11:00
Filed Under: SBC6502

Pre iné projekty kde je základom procesor 6502 som postavil túto doštičku - toto riešenie ako základ používa TTL oscilátor 10.0000MHz, sú k dispozícii tri použiteľné výstupy = 5.0000MHz, 2.5000MHz a 1.2500MHz ktoré sa získajú pomocou binárnej deličky 74LS93 (tak rýchly procesor 65C02 ktorý bude fungovať na 10.000MHz bohužiaľ nemám ...). Posledný stupeň deličky sa tu nevyužíva, ak sa predsa len použije, tak potom dostaneme ďalší clock= 625.000kHz. Táto frekvencia je dostupná na jeho pine č.11, môže to byť zaujímavé pre niekoho kto hľadí na čo najnižšiu spotrebu a znížený výkon zariadenia mu nevadí.

TTL oscilátor 1.8432MHz je tak isto potrebný, je použitý pre taktovanie čipu 6850 (68B50), slúži pre nastavenie obojsmernej prenosovej rýchlosti na 115.200Bd. Takže teraz sú k dispozícii takty ktoré som doteraz nepoužíval (teda 5.000MHz som už k dispozícii mal, ale len ako výmenný x-tal na inej doske oscilátorov).

Všetky frekvencie majú pomer striedy presne 1:1.

Celé je to postavené ako zvyčajne na malej univerzálke, zapojenie robí to čo sa od neho očakáva, takže nič ďaľšieho už nemám čo k tomu dodať.

 

Na obrázku jumper nastavený na 2.5000MHz.


Poznámka:

Ak máme k dispozícii dostatočne rýchly procesor môžeme použiť rýchlejší TTL oscilátor =12.0000MHz namiesto 10.0000MHz, dostávame potom na výstupe 6.0000MHz, 3.0000MHz a 1.5000MHz, na poslednej deličke (pin č.11) je potom dostupných 750.000kHz.

Dtto platí aj smerom opačným - dá sa použiť TTL oscilátor =8.0000MHz, výstupy budú 4.0000MHz, 2.0000MHz a 1.0000MHz, štvrtý stupeň deličky (pin č.11) dodá 500.000kHz. (Tu je to jedna z možných ciest ako dnes získať potrebných 1.0000MHz, pretože obecne u nás sú práve tieto TTL oscilátory s týmto výstupom často dosť zle dostupné.)

____________________________________________________________

Vaše hodnotenie, Rate post:

Programové vybavenie pre PREPROM-01 a PREPROM-02.

By Administrator at júla 30, 2023 06:00
Filed Under: Non-Atari

Dnes sa pozrieme na programové vybavenie pre programátory PREPROM-01 a PREPROM-02 od firmy ELNEC ktoré vlastním. Áno, programátor PREPROM-01 už dávnejšie nemám, ale programy k nemu stále mám. Obidva programátory komunikujú výhradne cez paralelný port. Všetky programy sa dajú spustiť aj bez pripojeného programátoru - akurát len potom prejdú do demo módu.

 

________________________________________________________________________________

 

PREPROM-01

 

Prvá verzia 4/92 DOS programu pre PREPROM-01 rok 1992, mala vážne obmedzenie práce na paralelnom porte - počítač nesmel byť rýchlejší ako Pentium 166MMX, väčšiu rýchlosť nezvládala, zlyhala vzájomná komunikácia. Verzia obsahuje bug pri presunoch dát, "zabúda" preniesť  jeden byte. Ostatné je O.K. Program sa neinštaluje. Používal som ho roky bez najmenších problémov, presuny som tu nespúšťal, na to som používal iný software - a preto som na ten bug osobne nikdy nenarazil.


Program sa neinštaluje, priamo sa spúšťa, veľkosť je cca 108kByte.

________________________________________________________________________________

 

PREPROM-01

 

Druhá verzia 5.18/06.96 DOS programu pre PREPROM-01 je na tom už omnoho lepšie čo sa týka práce s paralelným portom, zvláda aj hodne rýchle procesory. Program je stále dostupný na stránkach firmy ELNEC. Bug s predchádzajúcej verzie je už odstránený.

 

Program sa neinštaluje, priamo sa spúšťa, veľkosť je cca 187kByte.

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 1.01U/3.93 programu z roku 1993.


Program sa neinštaluje, priamo sa spúšťa, veľkosť je cca 123kByte,

zarátané sú všetky súbory.

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 2.04/12.93 programu z roku 1993.

 

Program sa neinštaluje, priamo sa spúšťa, veľkosť je cca 340kByte,

zarátané sú všetky súbory.

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 2.05/12.93 programu z roku 1993.


Program sa neinštaluje, priamo sa spúšťa, veľkosť je cca 284kByte,

zarátané sú všetky súbory.

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 2.20/06.94 programu z roku 1994.


Programové vybavenie sa neinštaluje, priamo sa spúšťa,

veľkosť je cca 350kByte, obsahuje už aj pomocné utility,

zarátané sú všetky súbory.

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 3.73/11.96 programu z roku 1996.


Programové vybavenie sa neinštaluje, priamo sa spúšťa,

veľkosť je cca 932kByte, obsahuje už aj pomocné utility,

zarátané sú všetky súbory.

 

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 4.78a/03.2002 programu z roku 2002.

 

Programové vybavenie verzie 4.78a sa už inštaluje, veľkosť pri inštalácii vidíte na obrázku, obsahuje aj pomocné utility. Je to prvá tzv. "multi" verzia určená pre viacero programátorov ktorú mám, skenuje paralelný port až nájde programátor. Funguje tu aj PREPROM-02aLV.

________________________________________________________________________________

 

PREPROM-02

 

DOS verzia 4.93a/06.2003 programu z roku 2003, je už určená pre 11 typov programátorov, táto verzia sa

inštaluje. Po štarte program automaticky preskenuje programátor na parporte a pripojí nájdený typ..

 

Program sa dodáva ako jeden inštalačný súbor o veľkosti cca 2.5Mbyte. Dátum zodpovedá stiahnutiu súboru na stránkach fy. ELNEC. Program je stále dostupný na stránkach firmy ELNEC. Program funguje aj pre programátor PREPROM-02aLV.

________________________________________________________________________________

 

PREPROM-02


Win verzia 1.38a/03.2002, program sa inštaluje z malého CD. Je pre 12 typov programátorov,

hľadanie konkrétneho programátoru zbieha automaticky. Je to prvá verzia pre Win ktorú mám,

funguje aj pre programátor PREPROM-02aLV. Podporuje WIN98,SE,ME, Win2000, WinXP.


Inštalačné CD obsahuje aj DOS-ovú verziu programu pre

programátor, čo sa týka "balíčku" pre inštaláciu v prostredí

Windows treba spustiť súbor setup.exe.

________________________________________________________________________________

 

PREPROM-02

 

Win verzia 2.51/08.2008, program sa inštaluje. Je pre celkove 22 typov programátorov, dá sa nastaviť  ručne na konkrétny typ, alebo automaticky preskenuje parport a nájdený programátor následne pripojí. Len odznova upozorním - táto verzia programu nespolupracuje s modulom x48 pri WinXP (špecifická vec pre PREPROM-02), takže treba použiť pri práci s ním Win98 aleb WinME (alebo DOS verziu). "Lopatisticky" povedané - ak nemáte k dispozíci modul x48 tak v pohode programujete Eprom pamäte aj pod WinXP, najvyššiu Eprom čo som mal doma k dispozícii bola 27040, naprosto bez problémov, programátor vie priamo aj 27080. Program je stále dostupný na stránkach firmy ELNEC. Program funguje aj pre programátor PREPROM-02-aLV.

Pri inštalácii odporúčam vypnúť automatickú inštaláciu a urobiť ručnú, vďaka tomu si vieme nainštalovať podporu pre LPT port a dá sa zabrániť inštalácii dodatočného programového vybavenia ktoré nám netreba.


Program sa dodáva ako jeden inštalačný súbor o veľkosti cca 25Mbyte.

Dátum zodpovedá stiahnutiu súboru na stránkach fy ELNEC.

 

No a to je vlastne všetko ...

_____________________________________________________________

24.08.2023

Do zoznamu pridané ďalšie 2 programy pre PREPROM-02, vďaka Caga !

(verzia 1.01U/3.93 a verzia 2.04/12.93)

_____________________________________________________________

30.08.2023

Doplnená ďalšia verzia pre programátor PREPROM-02.

(verzia 4.78/03.2002)

_________________________________________________________________________________

03.09.2023

Doplnená prvá Win verzia pre PREPROM-02 (a tiež pre PREPROM-02aLV) čo mám.

(verzia 1.38a/03.2002)

Vďaka Caga !

_____________________________________________________________

Vaše hodnotenie, Rate post:

Programátor PREPROM-01.

By Administrator at júla 29, 2023 08:08
Filed Under: Non-Atari

Stále tu čítate - programátor PREPROM-02, PREPROM-02 - ale nejaké to foto pre jeho predchodcu - programátor PREPROM-01 chýba - a to aj na webe. Informácií je tak ako u šafránu, skoro žiadne. Vyrábala ho tak isto firma ELNEC, rok výroby 1992. Navštívil som kamaráta, ktorý programátor PREPROM-01 dodnes vlastní - a to ako aj originál a tiež verziu postavenú podľa časopisu ELEKTOR. Tak som nabehol, zariadenia vyfotil - nech sú aj archívne snímky k dispozícii. Takže už nasleduje fotogaléria ... komunikácia s PC prebieha cez paralelný port cez špeciálny prevodný káblik z parportu na konektor programátoru.

 

PREPROM-01 

dve LED-ky, 28 pinová ZIF pätica, to je všetko na prednom paneli.


PREPROM-01

Po odkrytovaní je vidieť že vovnútri je použitý spínaný zdroj, napájanie klasica ELNEC, - pól na stredovom kolíku.

 

PREPROM-01
Č
ipov na doske je neporovnateľne menej ako na doskách PREPROM-02.

 

PREPROM-01

Je tu jediný stabilizátor ktorý je umiestnený na chladiči.

 

PREPROM-01

Použitá je jednostranná doska plošného spoja.

 

PREPROM-01

Spodná strana plošného spoja. Ak vidieť už vo výrobe boli na spodnú stranu pridané dve súčiastky.

____________________________________________________________________

 

Nasleduje programátor fakticky zhodný s PREPROM-01.

(teda až na riešenie zdrojovej časti)

 

Nasleduje domáca stavba programátoru na 100% kompatibilného s PREPROM-01.

 

Plošný spoj zo spodnej strany.

 

Na pravej strane je odlišne vyriešený časť napájacieho zdroja, programátor dodnes funguje.

Tu je už umiestnených viacero tranzistorov na jednom chladiči.

 

P.S.:

Ešte sa vrátim ku konštrukcii zdrojov - originál z Elektoru má priamo na doske plošných spojov malý transformátor 2x9V/AC, z neho sa následne vyrábajú potrebné DC napätia (viď originálny návod Elektor). Verzia firmyElnec používa na napájanie už externý DC zdroj, z neho potom na doske programátoru DC/DC menič vyrába potrebné napätia. Tu uverejnený klon z Elektoru používa tak isto externý zdroj. Moja vtedy postavená verzia mala tak isto externý zdroj ktorý dodával priamo dve potrebné napätia a to + 10V a +30V. Dôvod je vcelku jasný - na doske už nie je priamo 230V/AC čo je vec vcelku príjemná (a hlavne bezpečná).

Už asi nehrozí že by to chcel niekto v dnešnej dobe stavať ... len dodám, existujú k tomu 2 verzie programového vybavenia, v tej staršej verzii vraj pri používaní presunov dochádza k chybe, neprenesie sa jeden byte. Neviem, práve toto som v programe nikdy nepoužil a teda som sa osobne s uvedeným problémom naživo nestretol, kompletnú prípravu dát na napálenie som vždy prevádzal pomocou iného programového vybavenia. Vlastný programátor fungoval výborne po celú dobu čo som ho mal (1993÷2017), stále som používal na napaľovanie iba programové vybavenie staršej verzie - a to bez najmenších problémov.


Moja verzia realizovaného programátoru podľa časopisu Elektor:

Programátor Eprom. DOS Eprom programmer.


Zapojenie programátoru Elektor:

http://blog.3b2.sk/igi/post/Programator-Eprom-Eprom-programmer.aspx

_______________________________________________________________

Vaše hodnotenie, Rate post:

Programátor /programmer/ PREPROM-02. Part 7. Možnosti modulu x48.

By Administrator at júla 23, 2023 11:20
Filed Under: Non-Atari

Modul x48 pre programovanie mikroprocesorov rady 8748 a 8749 v spolupráci s PREPROM-02.

 

Padla aj otázka čo všetko zvláda čítať a programovať modul x48 pripojený na PREPROM-02, zoznam som priamo prefotil z displeja počítača. Modul x48 sa zakladá do programátoru PREPROM-02 tak, že páčka na ňom smeruje rovnakým smerom ako páčka na samotnom programátore. Osobitne som teraz ocenil to že som vedel vďaka modulu x48 priamo načítať obsah PROM procesoru 8050 z disketovej jednotky Atari XF551 (a potom že nemá zmysel držať pri živote staré programátory - skúste to načítať na modernom ...). Rozhodujúce pritom pre mňa bolo že som modul x48 získal priamo spolu s programátorom.


 

Posledná položka príliš nie je vidieť, procesor PHILIPS 8049 /READ/.


Posledná položka v zozname je procesor TMP8050 TOSHIBA /READ/.

 

V manuáli je uvedené že je dobré dodržiavať krátke pauzy medzi čítaním a zápisom na procesory, NMOS verzie procesorov majú vyššiu spotrebu, pri HMOS procesoroch pauzu netreba dodržiavať. V dnešnej dobe nejaké masové napaľovanie týchto procesorov určite nehrozí takže nemáme bezprostredné ohrozenie programátoru tepelným preťažením ... Ako vidieť vie si poradiť s celou radou procesorov 80xx, 86xx a 87xx.

 

Takže už by to malo byť jasnéna čo uvedený modul slúži, nejaký ďalší komentár považujem za zbytočný.

_____________________________________________________

Neskoršie doplnenie textu v článku:

Uvedený modul x48 priamo komunikuje aj s nasledovným programátorom v rade a to s PREPROM-02aLV, zvláda všetky uvedené typy procesorov na obrázkoch.

____________________________________________________________

Prvá časť:

Programátor PREPROM-02. Programmer PREPROM-02.

Druhá časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 2.

Tretia časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 3. Iné PC.

Štvrtá časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 4. Modul 008.

Piata časť:

Programátor /programmer/ PREPROM-02. Part 5. Káblik PREPROM-02 to PC.

Šiesta časť:

Programátor /programmer/ PREPROM-02. Part 6. Zrýchlenie programovania.

____________________________________________________________

Vaše hodnotenie, Rate post:

Programátor /programmer/ PREPROM-02. Part 6. Zrýchlenie programovania.

By Administrator at júla 21, 2023 10:18
Filed Under: Non-Atari

Hodne stručný článok - ako urýchliť programovanie na PREPROM-02 (PREPROM-02aLV) a všeobecne pre programátory pracujúce s paralelným portom. Pre niekoho to zvýšenie rýchlosti môže byť aj po tých rokoch stále zaujímavé. Pri prechádzaní webovými stránkami som natrafil na článok ktorý popisuje ako na to.

 

Odkaz na článok na nemeckých stránkach (preložené do sk):

https://www-dobbertin--elektronik-de.translate.goog/programm/speed/speed.htm?_x_tr_sl=de&_x_tr_tl=sk&_x_tr_hl=sk&_x_tr_pto=wapp

 

Originál v nemčine:

https://www-dobbertin--elektronik-de.translate.goog/programm/speed/speed.htm?_x_tr_sl=de&_x_tr_tl=sk&_x_tr_hl=sk&_x_tr_pto=wapp

 

Už som spomenul (v prvej časti) ako som si v roku 1993 vlastnoručne postavil programátor podľa časopisu Elektor (bol kompatibilný s programovým vybavením pre PREPROM-01 z firmy ELNEC), viď odkaz:

 

http://blog.3b2.sk/igi/post/Programator-Eprom-Eprom-programmer.aspx

 

Pomocou XT laptopu Toshiba T1100 (4.77MHz) som vtedy programoval cez parport Eprom pamäte 27512 (laptop mal k dispozícii 2x FD jednotky 3.5" 720kB). Fungovalo to bez problémov, ale napaľovanie trvalo skutočne dlho, hodne dlho, presný čas si už skutočne nepamätám a tak tu nechcem hádzať nejaké čísla z brucha, ale 30 minút na 27512-ky rozhodne nestačilo. Vtedy som potreboval naprogramovať v jednej várke cca 30 kusov uvedených pamätí, zabralo mi  to celé 2 dni ... (vždy som to pustil a po čase som prišiel Eprom vymeniť za ďalšiu, bolo to na boot počítačov priamo zo sieťovej karty /tuším to boli 3COM/ v sieti Novell), samozrejme som nad tým po celú dobu nesedel a robil aj iné veci. O pár dní neskôr som sa našťastie dostal už k 486-ke (33MHz) ... a to už bol parádny posun. Tie neskoršie počítače boli o kus rýchlejšie a tak sa na programátore skutočne dobre programovalo a preto mi aj doma vydržal v plnom pracovnom nasadení do roku 2017 (dovtedy som vždy nejakú mašinu s paralelným portom mal k dispozícii, zásadne som to prevádzkoval v režime SPP). Výhodou bolo že všetko kompletne sa vždy zmestilo na jednu jedinú 3.5" 720kB disketu, teda boot DOSu + systém, programové vybavenie a aj potrebný obsah Eprom. Laptop išiel z domu o rok neskôr ...

Laptop Toshiba T1100.

____________________________________________________________

Prvá časť:

Programátor PREPROM-02. Programmer PREPROM-02.

Druhá časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 2.

Tretia časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 3. Iné PC.

Štvrtá časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 4. Modul 008.

Piata časť:

Programátor /programmer/ PREPROM-02. Part 5. Káblik PREPROM-02 to PC.

Siedma časť:

Programátor /programmer/ PREPROM-02. Part 7. Možnosti modulu x48.

______________________________________________________

Vaše hodnotenie, Rate post:

07-08_2023 Blog, Notes.

By Administrator at júla 21, 2023 09:22
Filed Under: Blog

21.07.2023

Musím splatiť ešte jeden svoj dlh - na ako na USBprog-u načítať obsahy PROM procesorov 8048 a 8049:

USBprog - Part12. Čítanie (read) procesorov 8048 + 8049.

_________

Aj po tých rokoch môže byť pre niekoho zaujímavé ako si podstatne urýchliť programovanie na programátore PREPROM-02:

Programátor /programmer/ PREPROM-02. Part 6. Zrýchlenie programovania.

____________________________________________________

23.07.2023

Ako zisťujem mám v článkoch vcelku dosť preklepov, bude to dané tým že píšem na klávesnici ktorá nemá na sebe sk znaky a tak občas slušne "trafím" vedľa. Takže sorry za tie chyby ...

__________

Možnosti modulu x48 v spolupráci s programátorom PREPROM-02:

Programátor /programmer/ PREPROM-02. Part 7. Možnosti modulu x48.

____________________________________________________

26.07.2023

Úprava programu pre programátor PROM 74188, táto verzia už v druhom kole nenapaľuje nanovo všetky byte, programuje iba tie byte ktoré sa nenapálili správne v prvom kole:

SBC6502 - 63 - PROM 74188 - last, best program v.1.10, version 1.10n.

____________________________________________________

29.07.2023

Poznáte programátor PREPROM-01 od firmy Elnec?

Programátor PREPROM-01.

____________________________________________________

30.07.2023

Mne dostupné programové vybavenie pre programátory PREPROM-01 a PREPROM-02:

Programové vybavenie pre PREPROM-01 a PREPROM-02.

____________________________________________________

11.08.2023

Nová doska oscilátorov pre počítače rady SBC6502 a pod.:

SBC6502 - 65 - 3x processor clock + clock 6850.

____________________________________________________

17.08.2023

Včera som sa zastavil u jedného pána (na polceste medzi Nitrou a Topoľčanmi), ktorý má celkom slušnú zbierku programátorov od fy ELNEC. Nebudem tu písať koľko ho to celé stálo v tej dobe keď to kupoval, ale boli to naozaj slušné peniaze (holt vtedy to bol monopol ...). Mimo príjemne strávenej hodinky som sa dozvedel že napríklad programátor PREPROM-02aLV bezproblémovo chodil na 4m paralelnej predlžovačke a že programátor PREPROM-02 zvláda niektoré finty ktoré nefungujú na novších programátoroch. Mimo iného som stal vlastníkom SIM2051, síce bez manuálu, zdroja a kabeláže ale snáď sa k nejakým infomáciám a potrebnému hw časom dostanem (sw mám), na webe k tomu fakticky nič nie je dostupné. Vyrábalo sa to od roku 1995.

 

autor foto: ersacon555


Programátor PREPROM-02 s niektorými doplnkovými modulmi:

autor foto: ersacon555

 

Doplnok dnes poobede - tak už viem zapojenie kábliku PC↔SIM2051, je to RS232, prepojenie 4 vodičmi (zapojenie kábliku som našiel na talianskych stránkach), použitý zdroj je 12V/DC bez stabilizácie, mínus pól je na strednom kolíku. Momentálne mi už zostáva len zohnať manuál. Zo získaním uvedených informácií mi výborne pomohli na stránkach oldcomp.cz, bezva partia !

___________________________________________________________

21.08.2023

Je strašné že po tých rokoch (máme 55. výročie od augusta 1968) je tu stále dosť ľudí ktorí chcú zase zažiť oslobodenie ... no comment.

__________

Dnes zase jedna vec z minulosti - simulátor a programátor SIM2051 od fy. ELNEC:

SIM2051 - simulátor pre 89C2051 + programátor 89Cx051.

_____________________________________________________

24.08.2023

Dostupné programové verzie pre PREPROM-02 sa rozrástli o ďalšie dve verzie:

Programové vybavenie pre PREPROM-01 a PREPROM-02.

_____________________________________________________

28.08.2023

Ďalší, hodne známy programátor z dielne fy. ELNEC - PREPROM-02aLV:

Programátor PREPROM-02aLV. Programmer PREPROM-02aLV. Part1.

_____________________________________________________

30.08.2023

Mám k dispozícii pre PREPROM-02 ďalšiu verziu programového vybavenia:

Programové vybavenie pre PREPROM-01 a PREPROM-02.

_____________________________________________________

Vaše hodnotenie, Rate post:

USBprog - Part12. Čítanie (read) procesorov 8048 + 8049.

By Administrator at júla 21, 2023 08:55
Filed Under: SBC8085-NCB85

USBprog s nasadenou redukciou - čítanie PROM 8048.

 

Musím splniť ešte jeden svoj dlh, nejako som sa k tomu ale doteraz ešte nedostal, no čo - stáva sa to. To že na programátore USBprog sa dá prečítať obsah procesorov 8748 a 8749 ktoré majú internú Eprom je myslím si jasné. Ale ako to už v živote často býva - treba vedieť prečítať aj obsahy ROM procesorov 8048 a 8049 - a dá sa to urobiť na tomto programátore tak isto - a to bez najmenších problémov, algoritmus čítania je absolútne rovnaký, pričom platí že nič netreba prestavovať. Uvedené typy procesorov nemajú ochranu proti vyčítaniu obsahu takže o to je to potom jednoduchšie.

Tak sa na to pozrime, stačí dodržať jednoduchú postupnosť krokov pri práci s programátorom USBprog.

 

Nastavený procesor 8748.


Postup:

 

1.- zvoľte typ procesoru (8748 pre čítanie 8048, 8749 pre čítanie 8049)

2.- pre istotu si prestavte Vpp=12.5V (i keď pri čítaní sa Vpp napätím nemanipuluje)

3.- založte redukciu MCS-48 pre procesory 8048, 8049  do programátoru USBprog

4.- vložte do pätičky redukcie požadovaný procesor na jeho prečítanie (8048 alebo 8049)

5.- dajte príkaz na čítanie procesoru /(R) prečítaj, pozor na správnu voľbu príkazu !/

6.- následne môžete spustiť verifikáciu /(?) over, zase pozor na správnu voľbu príkazu !/

7.- zapíšte načítaný obsah z procesoru na disk /(ulož) buď v bin alebo v hex tvare/ pod

     zrozumiteľným názvom (aby aj po čase bolo jasné o aký obsah súboru sa jedná)

Hotovo.

 

Verifikácia už zapísanej binárky a obsahu v PROM 8048.

 

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.

 

Teraz už máme k dispozícii požadovaný obsah procesoru. Pre typ 8048 sa vytvorí 1kB súbor (1024 byte pri binárke), pre 8049 to bude 2kB súbor (2048 byte), pri ukladaní v hexa tvare je súbor pochopiteľne vždy dlhší ako uvedené hodnoty. Prečítanie obsahu platí aj pre procesory 8748 a 8749, to je jasné. Je to ďalšia príjemná vec ktorú USBprog zvláda priamo, bez nejakého ďalšieho potrebného HW alebo SW vybavenia.

 

Na tomto obrázku je vidieť moja malá úprava dosky MCS-48 aby bolo dobre dostupné

miesto pre páčku spodnej ZIF pätice.

 

Uvedená možnosť čítania procesorov 8048 a 8049 je tu teda priamo k dispozícii, osobne som považoval za jasné že sa tu dajú čítať tieto procesory (a tiež je to jasné tým ktorí sa v danej problematike vyznajú), ale ako sa ukázalo nie každý to takto priamočiaro pochopil a tak som zvolil cestu odpovede týmto článkom (nie len do jedného mailu).

_____________________________________________________________________

 

Ďalšie časti:

USBprog - Eprom + Prom programmer. Part1.

USBprog - Eprom+ Prom programmer. Shield 2732. Part2.

USBprog - Eprom+ Prom programmer. Tabuľka Eprom pamätí. Part3.

USBprog - Eprom + Prom programmer. Part4. Prepínač Vpp. Vpp selector.

USBprog - Eprom + Prom programmer. Part5. Eprom 2732B ... pffffffff ...

USBprog - Eprom + Prom programmer. Part6. Shield for 8748-8749.

USBprog - Eprom + Prom programmer. Part7. Shield for 74188,74S287,74S571.

USBprog - programmer. Part8. Obsahy-contents 8048,8049,8748,8749.

USBprog - Part9. HW patch for shield for 8748H-8749H.

USBprog - Part10. Obsahy-contents PROM 74287, 74S287, 74571, 74S571.

USBprog - Part11. Bipolárne PROM - zapojenie vývodov.

____________________________________________________________

Vaše hodnotenie, Rate post:

06_2023 Blog, Notes.

By Administrator at júna 13, 2023 09:43
Filed Under: Blog

13.06.2023

O tejto možnosti sa akosi veľmi nepísalo:

Atari XF551 + Eprom 2732 ? - No problem !

_______________________________________________________________________________

Vaše hodnotenie, Rate post:

Atari XF551 + Eprom 2732 ? - No problem !

By Administrator at júna 13, 2023 09:40
Filed Under: Atari

 

Mám taký pocit že doteraz sa to akosi nikde oficiálne nepopisovalo a nerozoberalo a nie sú k tomu žiadne pokecy - môže byť tento stav zapríčinený rozličnými okolnosťami, takže som si povedal že nastal čas to napraviť.

 

Vedeli ste že bez akýchkoľvek úprav je možné do disketovej jednotky XF551 zasunúť do pätičky určenej pre Eprom 2764 aj jej predchodcu o polovičnej kapacite a to Eprom 2732 ? Mnohým je to jasné, ešte väčšej časti majiteľov týchto jednotiek ale určite nie. Pre jej použitie je potrebné zobrať firmware ktorý má veľkosť 8kByte (obsah horných 4kByte je balast) a zobrať z neho spodných 4kByte a tie napáliť do Eprom 2732, jednotka bude potom tak isto fungovať - a to bez najmenších problémov.

Takže - ak máte v šuplíku Eprom 2732 tak si to môžete vyskúšať - teda ak máte k dispozícii programátor čo dokáže Váš konkrétny typ Eprom 2732-ky napáliť ...

 

Na originálnych a teda nijako neupravovaných jednotkách ATARI XF551 sa totiž firmware (buď obsiahnutý v OTP PROM 2764 t.j. jednorázovo programovateľná Eprom bez okienka, býva tu často použitá aj EPROM 2764), nachádza vždy iba v spodných 4kB, horné 4kB obsahujú vždy samé nuly - táto časť Eprom pamäte sa teda nikdy nepoužíva, najvyšší adresný bit A12 je totiž natvrdo uzemnený. Procesor 8040 (8050) dokáže priamo spolupracovať s externými 4kB, takže tých druhých 4kB je od začiatku niečo čo je navyše a neráta sa s nimi na ďalšie využitie. Prečo sa tu teda osadzovala OTP PROM alebo spomínaná Eprom 2764 ? S najväčšou pravdepodobnosťou už v tej dobe začali byť OTP PROM pamäte výrazne lacnejšie a lepšie dostupné ako pamäte Eprom 2732.


Čo platí pri použití Eprom 2732:

Výhody ? - vyberiete pôvodnú PROM, alebo Eprom a nasadíte sem naprogramovanú Eprom 2732, nič ďalšie netreba, máme hotovo ! Len dodám - je tu možné použiť aj najpomalšiu dostupnú verziu tejto Eprom s prístupovou dobou 450ns, bude tu fungovať - a to bez najmenších problémov.

Nevýhody ? - pri takto malej Eprom potom máme k dispozícii iba jeden firmware bez možnosti nejakého ďalšieho rozšírenia (t.j. prepínania na druhý OS). Ak použijete Hyper-XF OS tak Vám rozhodne postačí na všetko (len pozor, je treba potom na FD mechanike urobiť malý HW zásah pre plné využitie všetkých možností).


Pokiaľ je mi známe jedine firma CSS používala takýto "downgrade" v praxi a osadzovala do dosky Atari XF551 pamäť Eprom 2732, jej úpravy ale tak isto vyžadovali ďalšie HW zásahy na doske, zapojenie samotnej Eprom pamäte v doske sa ale nemenilo.

 

Tým že v OTP PROM sú natvrdo naprogramované nuly v horných 4kB tak neexistuje možnosť sem priamo naprogramovať svoj vlastný obsah, zase raz malé kurvítko v praxi. Je síce známe že OTP PROM-y sa dajú mazať pomocou rtg žiarenia, ale nikto netuší akú dávku žiarenia treba a koľko dávok pri snímkovaní by to vyžadovalo. A medzi nami - rtg nemá každý doma na záhrade, takže toto je pre nás cesta zarúbaná, určite skôr zoženiete potrebnú náhradnú Eprom ako ísť tu spomenutou cestou.


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.

 

Keďže nie každý je zdatný v potrebných úpravách tak sem dávam k dispozícii dve možnosti osadenia operačnými systémami v týchto menších Eprom pamätiach.

Prvá možnosť:

Firmware - verzia 7.7patch Bob Woolley pre 4kB Eprom 2732:

XF551_V77patch_BobWoolley.bin (4,00 kb)

Tento firmware si už vie poradiť ak sa zmení hustota založenej diskety počas práce /t.j. ak je založená počas práce disketa s inou hustotou ako bola na boot diskete/, je to obrovský posun vo využití disketovej jednotky Atari XF551. Vyriešené čiste úpravou samotného firmware, na jeho plnú funkčnosť netreba robiť žiadne ďalšie zásahy do FD jednotky, stačí teda do dosky osadiť naprogramovanú Eprom 2732 s týmto obsahom a je hotovo.

 

Druhá možnosť:

Firmware Hyper-XF pre použitie s Eprom 2732 a FD 5.25" od S.Dorndorfa:

HypXF_A_SD.bin (4,00 kb)

Vie toho síce viac, ale pre tento OS a jeho plné využitie je potrebný HW zásah do disketovej jednotky Atari XF551.

 

A na záver nasleduje malá obrazová galéria:

 

Osadená pôvodná OTP PROM, firmware verzie 7.7, čiže tu existujú neustále problémy s prepínaním hustoty, je tu osadená skutočne len z dôvodov dokumentácie. Ako som už spomenul najčastejšie sa dodávali na základnej doske osadené tieto OTP PROM-y (a tiež jednu dobu to boli taktiež pamäte Eprom 2764).


Ideálne riešenie: Je tu už k dispozícii 2x OS - Hyper-XF a tiež firmware v.7.7patch Bob Wooley, použitá je Eprom 2764, tu je už kapacita tejto Eprom využitá na 100%. (Prepínanie najvyššieho bitu A12 ktorý slúži na prepínanie týchto OS je riešené na strane plošného spoja, je tu teda už potrebný HW zásah do základnej dosky - a tiež do FD mechaniky.)

 

No a na záver na fotografii je osadená Eprom 2732, použitý firmware je verzia 7.7patch (Bob Wooley) - aj toto riešenie je veľmi dobré oproti pôvodnému firmware verzie 7.7, ešte tu na obrázku nie je aplikovaná na Eprom pamäti samolepka s informáciou o verzii firmware. Z obrázku je vidieť jej umiestnenie, piny číslo 1, 2, 27 a 28 z pôvodnej pätičky zostanú voľné. Je to jednoduché a pritom nadmieru elegantné riešenie pre niekoho kto nechce robiť žiadne HW zásahy do tejto disketovej jednotky a pritom vďaka tomuto riešeniu získa funkčne omnoho lepšiu disketovú jednotku zbavenú detských nemocí.

____________________________________________________

Vaše hodnotenie, Rate post:

Atari XF551 - OS firmware in PROM 8050.

By Administrator at mája 29, 2023 14:58
Filed Under: Atari

Tak sa mi predsa len podarilo stretnúť ženu poručíka Colomba - stiahol som firmware (obsah PROM) procesoru 8050 z disketovej jednotky Atari XF551. Doteraz sa o tom že existuje takýto firmware hodne veľa hovorilo, hodne veľa popísalo, veľa ľudí tvrdilo že to doma má - ale nikto nikdy doteraz to reálne skutočne nedal k dispozícii. Dôvodov prečo to tak bolo môže byť naozaj veľa. Bolo k tomu veľa rečí, ale málo skutkov - rozhodol som sa to zmeniť, podarilo sa. V prvom rade som sa potreboval dostať k jednotke XF551 ktorá by v sebe obsahovala uvedený procesor ... dosť som sa na to pripravoval pretože som to konečne chcel dotiahnuť do štádia kedy to už nebude záhadou ako doteraz.

 

Atari XF551

 

Keďže som našiel floppy jednotku Atari XF551 ktorá má v sebe procesor 8050 a mal priamo na sebe aj označenie Atari - to mi vcelku dávalo základný predpoklad k tomu že by tam mohol byť k dispozícii priamo použiteľný firmware - a to priamo v jeho PROM, tak som to najprv otestoval.


Prepojky na doske som nahradil jumper kolíkmi - teraz môžem veselo prepínať podľa potreby. Ako vidieť práve je prepnuté na 8050 ("rieši" to žltý káblik - kratší som nemal poruke, rozteč pre prepínanie medzi 8040 a 8050 je 3 piny), tak isto je vidieť (sčasti na obrázku, vľavo dole) neosadená pozícia Eprom. Čierny dvojkáblik /vpravo/ je zo zabudovaného prívodu pre Reset.

 

Na prvotnú skúšku či je tam vôbec k dispozícii funkčný firmware som urobil nasledovné:

 

- vybral som z pätičky Eprom 2764

- prepojil som prepojky tak aby sa bežalo na internú PROM (teda prestavené na 8050)

- založil som disketu s DOS-om

- XF551-ku som zapol a ...

- jednotka nabootovala, Colombova žena sa zjavila ...

- Bingo !!! funguje to !

 

Potom už nasledovala jediná možná vec - skopíroval som obsah PROM procesoru 8050 a zapísal som získanú binárku (mám na to k dispozícii tak softvérové ako aj hardvérové vybavenie, našťastie). Aby to samozrjeme nebolo celkom jednoduché - najprv som musel vypájkovať procesor 8050 zo základnej dosky Atari XF551 - tá doska je skutočne mizerná, s teplotou pri odsávaní treba byť fakt opatrný - aby na plošáku ešte niečo na zapájkovanie čipu na jeho pôvodné miesto zostalo, ale mám naozaj dobrú odsávačku, zadarilo sa, po prečítaní obsahu PROM som procesor dal na pôvodné miesto a zase zapájkoval, prepojku som zase vrátil na typ procesoru 8040 (aby znova procesor bežal z externej Eprom), založil som zase do pätičky Eprom 2764, disketovka XF551 po tejto "operácii" naďalej funguje (otestované po následnom kompletnom zložení diskovej jednotky).

 

Procesor 8050, označenie čipu firmou Atari je C070235.

(Odsávačka funguje perfektne, nožičky procesoru sú absolútne čisté.)


Uverejňujem 4kB binárku (obsah PROM 8050):

XF551_i8050_4kB.bin (4,00 kb

 

a tak isto sem dodávam aj verziu ktorú som upravil pre použitie 8kB Eprom 2764, na skúšanie potom stačí nahradiť pôvodnú Eprom.

XF551_i8050_8kB.bin (8,00 kb)

(Teda ak sa s tý chce niekto zaoberať, firmware je tu v spodných 4kB, horné 4kB obsahujú iba samé nuly.)

No - a čo k tomu dodať - oproti novším verziám je rozdiel v obsahu minimálny, oproti verzii 7.7 som zaznamenal rozdiel iba v 16 byte samotného obsahu.

_____________________________

Zatiaľ čo môžem povedať - chytá sa to celkom slušne, problémy zo zmenou hustoty som zaznamenal tie klasické, známe - sú tie isté ako u neopatchovanej verzie firmware 7.7, markantný je tu určitý pokles rýchlosti prenosu, nie je to pravidelné "cvrlikanie" ale skôr také v=r=r==r=r, vr=r=r=r=r=r= atď, nakoniec si to môžete na videu vypočuť. Tipujem že je to verzia určená pre NTSC počítače a teda preto sú tie záseky pri prenose, ale funguje to a máme k dispozícii zase o jeden OS pre disketovú jednotku Atari XF551 viac. Takže - kto má nervy skúšať a testovať - užite si ! Spätnú väzbu uvítam.

Zatiaľ som otestoval DOS 3.0, BiboDOS -  naformátovaný na Single 90kb, Medium 128kB aj Double 180kB hustotu + nový boot - zatiaľ všetko ide tak ako má - teda až na známy problém keď neprichádza k správnemu prepnutiu na inú hustotu po výmene diskety za inú z odlišnou hustotou. Na DS/DDensity 360kB mi disketu nedovolilo naformátovať - hlási error ≠144, čo je hláška ktorú by som čakal ak nie je povolený zápis na disketu (vtedy sa táto hláška zobrazí okamžite), ale tu mi zbehne celé formátovanie diskety a až na konci hodí túto chybu, zápis je povolený pretože všetky ostatné hustoty disketovka naformátuje a aj bez problémov následne uloží DOS. Teraz to ale neriešim, túto verziu OS nehodlám používať, máme k dispozícii novšie (a lepšie) s už opravenou chybou pre čítanie hustoty diskety a problém s prepínaním na správnu hustotu je našťastie už dávnejšie minulosťou.

(V tomto odstavci som opravoval včera uverejnený text, dnešné testy potvrdzujú čo je tu teraz napísané, teda až na jednu vec popísanú ďalej.)


 

_________________

Doplnok 31.05.2023:

 

Tak som na to čo spôsobuje tú hlášku error ≠144 konečne prišiel, síce až na druhý deň (bolo to včera) ale predsa. Pretože mám prerobený snímač otáčok disketovej jednotky (použitý je externý optočlen na spodnej strane oproti zotrvačníku) tak pri práci s otvorenou jednotkou na snímač umiestnený zboku zospodu na zotrvačník FD jednotky svietila stolná lampa - a vtedy nastával zmieňovaný problém.  Akonáhle som nahodil na jednotku XF551 horný plastový kryt tak som už bez najmenších problémov naformátoval disketu aj na DS/DD (360kB) a to aj  s uložením vlastného DOS-u. Takže bacha, bola to blbina a teda tento problém "existoval" iba medzi stoličkou a disketovou jednotkou ... samozrejme rovnako účinne by stačilo lampu vypnúť.  Jednoducho som lampu nevedomky počas testovania posunul zapnutú bližšie smerom k disketovke a vďaka tomu zrazu začal vyskakoval  error ≠144

Ak by som sa tým nepáral vo večerných hodinách tak sa mi asi tento problém vôbec neobjaví ...

Môžem skonštatovať že sa problém podarilo vyriešiť - i keď tu som si za to mohol sám. Napriek všetkému som rád že sa uvedený problém podarilo nájsť a identifikovať, zradné chyby akosi nemám rád (nielen ja).

_________________

No a pretože som sám patril (doteraz) k neveriacim Tomášom že predsa len mohlo niečo takého vyjsť na svetlo sveta (firmware v PROM-ke procesoru bez osadenia čipov 74LS373 a Eprom) tak som to pre istotu nahral aj na video, možno tým presvedčím aj niekoho iného (nielen seba). Foot in mouth

Bola to vec ktorá ma zaujímala dlhé roky a keďže stále v tomto smere nebolo nič nového nezostávala iná možnosť ako sa toho chopiť vlastnou iniciatívou.

Zase je jedna vec (záhada?) po rokoch vyjasnená a aj reálne potvrdená, po takomto dôkaze som volal dlhé roky (teda mať k dispozícii obsah PROM + potvrdzujúce video). Je možné že vlastníci takýchto "kusov" nemali dostatočné znalosti na to ako sa k obsahu PROM v procesore dostať, takže sa muselo hodne (naozaj hodne ...) dlho čakať na reálny výstup skutočného dôkazu - až sme sa dočkali, konečne. Ako som zistil user manterola (z atariage.com) minulý rok robil pokusy stiahnuť firmware ale nepodarilo sa mu stiahnuť funkčnú binárku. Nuž, niekedy sa zídu okolnosti tak že to proste nejde a nejde (o tom by som občas mohol rozprávať ...), podľa info na atariage sa jedná v tomto prípade asi o vydanú verziu firmware 1.0.

 

Som veľmi rád že mám toto "prvenstvo" vo vyjasnení a v tom že sa mi podarilo stiahnuť inkriminovaný obsah PROM, síce z toho nič reálne nemám (teda až na ten dobrý pocit), ale my čo sa vŕtame v týchto starinkách vieme že takéto veci skutočne dokážu človeka mimoriadne "nakopnúť" a zlepšiť náladu (minimálne na dnešný deň určite). Osobne som to považoval za taký nedoriešený tŕň v päte, teda že to nikto doteraz nedokázal poriadne dotiahnuť do konca a uverejniť. Ktohovie prečo ?

 

Keď sa na to pozriem bližšie - je jasné že firmware uložený priamo v PROM procesoru 8050 má jeden a to naozaj zásadný problém - akosi sem už nijako a ničím nedostaneme ďalšiu, novšiu verziu firmware - a práve preto usudzujem že Atari upustilo od šírenia verzie XF551 s firmware iba priamo v procesore a nakoniec sa išlo cestou cez pomocné čipy 74LS373 a Eprom 2764 (poprípade OTP PROM), veď koniec koncov na doske je na to všetko pripravené. Tých verzií firmware pre XF551 bolo nakoniec "vypustených" celkom dosť (posledná známa je ver.7.7), iná vec je koľko z nich sa nakoniec reálne aj dostalo medzi ataristickú verejnosť.

 

Sľúbené video kde jednotka Atari XF551 beží na firmware priamo z internej PROM procesoru 8050, počítač je Atari 600XL (použitý je pripojený 320kB RAM modul od Ctirada), použitá disketovka XF551 už má urobené niektoré úpravy, t.j. sú v napájaní použité DC/DC meniče, je už obojstranná s novým snímačom otáčok, pre test bola z pätičky vybratá Eprom 27128 ktorá obsahuje 3x OS, je tu tiež dopredu jednotky vyvedený Reset, je tu možnosť odblokovania ochrany proti zápisu atď. - toto všetko ale na funkčnosť obsahu PROM v procesore 8050 samozrejme nemá žiaden vplyv.

    

video

XF551_i8050firmware.mp4 (13,35 mb)

(Je tu pekne vidieť že v základnej doske FD jednotky nie je osadená Eprom, čip 74LS373 som ale už z dosky pre toto video von nepájkoval, ako som už spomenul - funkčnosť FD jednotky priamo z internej PROM to naozaj nijako neovplyvňuje, puristi mi to dúfam prepáčia, možno. Tongue out)

____________________________________________________

11.06.2023

Pretože user manterola prejavil záujem vedieť viac ako som na to čítanie obsahu procesoru išiel - použil som programátor PREPROM-02 slovenského výrobcu - firma ELNEC + je k tomu potrebný dodatočný HW nástavec (modul x48) ktorý pochádza tak isto od uvedenej firmy.

Použil som software ktorý funguje pod DOS-om, je z roku 1998 (3.verzia vydaného programového vybavenia k tomuto programátoru), počítač má procesor 486 DX2-66MHz, 16MB RAM, pevný disk má 1.2Gbyte. Komunikácia s programátorom prebieha cez paralelný port (SPP). Celá zostava funguje excelentne.

Síce existuje tiež verzia programového vybavenia pre Win32bit - tu ale funguje bezproblémovo len napaľovanie Eprom, ako som zistil modul x48 funguje iba pod Win98/ME (s tým som už 486-ku nechcel trápiť, výrobca zjavne už vtedy "poháňal" majiteľov na nákup novej verzie programátoru), verzie 32bit WinNT s ním nespolupracujú, takže som pekne - krásne zostal na starom DOS-e kde funguje všetko priamo a okamžite. Mám aj iné staršie stroje, ale uvedená 486-ka je skutočne maličká (Globalyst 510) a teda mi nezavadzia na stole (a mám k nej veľkostne naozaj šikovný 10" LCD monitor).

Samotný programátor PREPROM-02 spolu s modulom x48 (náhoda ?, teraz to skutočne oceňujem) som kúpil z druhej ruky už pred niekoľkými rokmi (cca 4÷5), bola to zase tzv. príležitostná kúpa, je už naozaj v strednom veku - vyrábal sa pred 30 rokmi. Napriek tomu - je mimoriadne zachovalý, vidieť že sa o neho jeho pôvodný majiteľ vzorne staral. Na "starinky", teda pre staršie typy čipov Eprom a prácu s radou procesorov 8048, 8748, 8049, 8749 a 8050 je ako stvorený, už som s ním vyčítal aj niekoľko iných obsahov procesorov 8048 a 8049. Som naozaj veľmi rád že som ho neposunul ďalej do obehu (pred časom som o tom uvažoval ..., ale len uvažoval) a že programátor PREPROM-02 trvale zakotvil v mojej dielni, bolo to z mojej strany dobré rozhodnutie.

___________________________________________________________

Viac podrobností o tomto programátore je na uvedených linkoch:

Prvá časť:

Programátor PREPROM-02. Programmer PREPROM-02.

Druhá časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 2.

Tretia časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 3. Iné PC.

Štvrtá časť:

Programátor PREPROM-02. Programmer PREPROM-02. Part 4. Modul 008.

Piata časť:

Programátor /programmer/ PREPROM-02. Part 5. Káblik PREPROM-02 to PC.

Šiesta časť:

Programátor /programmer/ PREPROM-02. Part 6. Zrýchlenie programovania.

___________________________________________________________

Ako pomocný príklad uvediem - vysvetlený princíp čítania obsahu PROM pre procesor 8049:

https://www.sbprojects.net/projects/8049spy/index.php

____________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 64 - basic programs - Quest.

By Administrator at mája 25, 2023 09:53
Filed Under: SBC6502

Pre SBC6502 sú vhodné textovky, s grafikou sa tu akosi neráta. Vyhrabal som túto textovku z roku 1979, SBC6502 musí mať 32kB RAM. No čo, nejaké obkecávanie je asi zbytočné, niečo som mierne upravil, niečo vypadlo - ale hlavné zostalo. Celková dĺžka programu - 15.327byte. Tvrdí fandovia originálu si v programe nájdu odkaz na zdroj.


 

Vlastný program:

Quest_Igi.txt (14,97 kb)

 

Listing programu:

1 REM ---
2 REM Adapted + modify for SBC6502/32kB RAM by Igi, 05/2023
3 REM original code from:
4 REM https://archive.org/details/byte-magazine-1979-07
5 POKE 15,80:?CHR$(12);
6 REM ---
7 REM
8 REM QUEST BY ROGER CHAFFEE
9 REM INSPIRED BY WILL CROWTHER'S "ADVENTURE"
10 REM COPYRIGHT(C) 1978, PENINSULA SCHOOL, MENLO PARK, CA
11 REM PERMISSION TO USE, NOT TO SELLTHE ORIGINAL VERSION
12 REM OF THIS PROGRAM WAS WRITTEN ON A COMMODORE PET 2001.
13 REM VARIABLES USED:
14 REM N     NODE (CAVE) NUMBER
15 REM M0    MOVE COUNTER
16 REM T     CURRENT LOCATION OF TREASURE (- 1 FOR CARRYING)
17 REM T1,T2 FIRST AND SECOND HIDING PLACES ( NODE NUMBERS)
18 REM M6    SAVES THE MOVE NUMBER WHEN HE SAID NO, HE DIDNT
14 REM       WANT TO TAKE THE TREASURE WITH HIM.
20 REM M     MAP OF INTERCONNECTIONS.
21 REM       M (I,J) IS NEXT NODE FROM NODE J, WHEN YOU GO
22 REM       N,E,U,D,W,S FOR I=1,2,3,4,5,6
23 REM
24 REM       BOUNCES
25 REM       TO GO TO NODE -2 MEANS BOUNCE BACK TO THE NODE YOU
26 REM       CAME FROM.
27 REM
28 REM       FORCED AND/OR RANDOM MOVES
29 REM       M(1,N)=-2 MEANS A FORCED MOVE AS SOON AS YOU REACH
30 REM       NODE N. IN THAT CASE, M(2,N) OF THE TIME YOU GO
31 REM       TO NODE M(3,N). IF YOU DON'T GO THERE, M(4,N)
32 REM       OF THE TIME YOU GO TO NODE (5,N), AND THE REST OF
33 REM       THE TIME YOU GO TO NODE (6,N).
34 REM
35 REM       NODES > 100:
36 REM       NODE N+100 MEANS NODE N IF YOU DON'T HAVE THE
37 REM       TREASURE, AND NODE N+1 IF YOU DO.
38 REM       NODE N+200 MEANS NODE N+1 IF YOU HAVE THE TREASURE
39 REM       THE SECOND TIME, AND NODE N OTHERWISE.
40 REM       NODE N+500 MEANS RUN THROUGH A DELAY LOOP AND THEN
41 REM       GO TO NODE N. THIS IS USED FOR PALLING DOWN THE
42 REM       EXIT CHUTE, AND YOU MAY WANT TO ADJUST THE DELAY
43 REM       TIME (LINE 6250).
44 REM
45 REM  Q$   INPUT STRING
46 REM  A$   CHARACTERS TO MATCH IN THE INPUT ROUTINE
47 REM  A2   NUMBER OF CHARACTERS IN A$
48 REM  Al   OUTPUT FROM THE INPUT ROUTINE
49 REM  P    PIRATE FLAG 1 IF PIRATE HAS GOT YOU, 0 OTHERWISE
50 REM  P1   COUNTER FOR PIRATE ROUTINE
51 REM  N9   SAVES OLD NODE IN MOVE ROUTINE, FOR BOUNCE
52 REM  N8   SAVES NODE WE BOUNCED FROM IN MOVE ROUTINE,
53 REM       FOR ? FLAG
54 REM  N0   SAVES OLD NODE IN MOVE ROUTINE, FOR DEAD END
55 REM  A0   SAVES OLD DIRECTION IN MOVE ROUTINE
56 REM  D    DEBUG FLAG (NON-ZERO TO ?)
57 REM  I,J  MISC. COUNTERS
58 REM  W    TRAVEL FLAG, USED IN SCORING. W(I)=1 IF HE'S
59 REM       BEEN TO NODE I, 0 OTHERWISE
60 REM  S    SCORE
61 REM  M9   MAXIMUM NUMBER OF NODES
80 D=0
100 REM ---
110 REM GIVE 'EM SOMETHING TO READ WHILE I GET THE DATABASE SET UP
120 ?"             QUEST":?
140 ?"YOU WERE WALKING THROUGH THE WOODS,"
150 ?"AND YOU CAME ACROSS THE ENTRANCE OF"
160 ?"A CAVE, COVERED WITH BRUSH. PEOPLE"
180 ?"SAY THAT MANY YEARS AGO A PIRATE HID"
190 ?"HIS TREASURE IN THESE WOODS, BUT NO"
200 ?"ONE HAS EVER FOUND IT. IT MAY STILL"
210 ?"BE HERE, FOR ALL I KNOW."
400 READ M9,T1,T2
490 REM DIMENSION OF W, M IS M9, IF YOU HAVE DYNAMIC ASSIGNMENT
500 DIM W(42),M(6,42)
510 REM READ MAP INTO M ARRAY
520 FOR I=1 TO M9
530 READ N
540 IF I=N THEN 570
550 ?"DATABASE PROBLEM"I,N
560 END
570 FOR J=1 TO 6
580 READ M(J,I)
590 NEXT J
600 NEXT I
900 ?"WHEN YOU ANSWER A QUESTION,I LOOK AT"
906 ?"ONLY THE FIRST LETTER, ALTHOUGH YOU"
907 ?"CAN TYPE THE WHOLE WORD IF YOU WANT."
920 GOSUB 7500
1000 REM ---
1010 N=5
1020 M0=0
1030 M6=0
1040 T=T1
1050 P=0
1060 P1=0
1070 FOR J=1 TO M9
1080 W(J) =0
1090 NEXT J
1100 ?
1110 REM DESCRIBE
1120 GOSUB 8000
1400 REM ---
1405 REM *** MAIN LOOP STARTS HERE ***
1410 REM COUNT MOVES
1420 M0=M0+1
1430 REM MOVE
1440 GOSUB 6000
1450 REM CHECK FOR FINDING THE TREASURE
1460 GOSUB 2000
1470 REM TRY THE PIRATE
1480 GOSUB 4000
1490 REM LOOP UNLESS FINISHED
1500 IF T>0 THEN 1400
1510 IF N<>5 THEN 1400
1700 REM CALCULATE SCORE
1710 GOSUB 3000
1720 ?:?"CONGRATULATIONS! YOU GOT THE TREASURE"
1740 ?"OUT IN";M0;
1750 ?"MOVES AND YOU GOT"S+10"POINTS!"
1760 ?"WANT TO HUNT AGAIN";
1770 A$="YN"
1771 A2=2
1780 GOSUB 5000
1790 ON A1 GOTO 1000,9999,1760
2000 REM ---
2010 REM FOUND?
2100 IF T<>N THEN RETURN
2110 IF T<0 THEN RETURN
2120 IF M6+5>M0 THEN RETURN
2200 ?"DO YOU WANT TO TAKE IT WITH YOU";
2210 A$="YN"
2220 A2=2
2230 GOSUB 5000
2240 ON A1 GOTO 2300,2400
2250 ?"WELL?...."
2260 GOTO 2210
2300 T=-1
2310 ?:?"OK, LETS GET OUT OF HERE!"
2330 RETURN
2400 ?:?"WE'LL LEAVE IT HERE AND YOU CAN EXPLORE"
2420 ?"SOME MORE."
2430 M6=M0
2440 RETURN
3000 REM ---
3010 REM *** SCORE ***
3020 S=O
3030 IF T=-1 THEN S=S+5
3040 IF P=1 THEN S=S+10
3050 FOR J=2 TO M9
3060 S=S+W(J)
3070 NEXT J
3080 RETURN
4000 REM ---
4010 REM *** PIRATE ***
4020 IF N=T2 THEN RETURN
4030 IF P=1 THEN RETURN
4040 IF T1=T2 THEN RETURN
4050 IF T<>-1 THEN RETURN
4060 REM HES AT THE EXIT WITH THE TREASURE . ZAP HIM.
4065 REM (ARRGH. HOW DID HE GET HERE, ANYWAY?)
4070 IF N=16 THEN P=160
4080 REM COUNT MOVES SINCE HITTING TIGHT TUNNEL WITH TREASURE
4090 IF P1>0 THEN P1=P1+1
4100 IF N=3 THEN P1=P1+1
4110 REM GIVE HIM A FEW MORE MOVES , THEN ZAP HIM
4120 IF P1<15 THEN RETURN
4130 ?:?"SUDDENLY THE PIRATE LEAPS OUT OF THE"
4150 ?"GLOOM AND GRABS THE TREASURE FROM YOU!"
4160 ?"'HAH!', HE SHOUTS, 'YOU FOUND MY"
4170 ?"TREASURE, DID YOU?! WELL, I'LL HIDE"
4180 ?"IT BETTER THIS TIME!'"
4190 ?"AND HE DISAPPEARS INTO THE DARKNESS"
4200 ?"WITH THE TREASURE."
4210 P=1
4220 T=T2
4230 RETURN
5000 REM ---
5010 REM *** INPUT ***
5020 REM FIRST CHARACTER OF Al INPUT STRING IS COMPARED WITH
5030 REM THE LETTERS OF AS, AND IF THERE IS A MATCH, THE INDEX
5040 REM IN AS IS RETURNED IN Al. IF NO MATCH, SIZE(A$)+l IS
5050 REM RETURNED.
5060 REM GET INPUT STRING
5070 INPUT Q$
5080 REM USE ONLY FIRST CHARACTER
5090 Q$=LEFT$(Q$,1)
5100 REM SEARCH FOR THE CHARACTER Q$ IN THE STRING AS. IN THIS VERSION
5110 REM OF BASIC , NDX IS THE INDEX FUNCTION , WHICH DOES EXACTLY THAT.
5120 REM A1=NDX(A$,Q$)
5130 REM BUT CHECK FOR THE CASE WHERE THE CHARACTER WAS NOT FOUND
5140 REM IF A1=0 THEN Al=A2+1
5145 REM RETURN
5150 REM IF YOUR VERSION OF BASIC DOESN -T HAVE THE NDX FUNCTION, BUT
5160 REM DOES, FOR INSTANCE, HAVE A FUNCTION WHICH WILL PICK A
5170 REM PARTICULAR CHARACTER FROM A STRING, SUCH AS MID(A$,A2,1)
5180 REM PICKING THE A2-TH CHARACTER FROM AS, YOU MIGHT USE THE
5190 REM FOLLOWING CODE.
5200 FOR A1=1 TO A2
5210 IF Q$=MID$(A$,A1,1) THEN RETURN
5220 NEXT A1
5230 Al=A2+1
5240 RETURN
6000 REM ---
6010 REM *** MOVE ***
6020 REM REMEMBER WHERE WE ARE, FOR BOUNCE.
6030 N9=N
6040 REM SET N8 TO ANYTHING BUT YOU CANT GO THAT WAY
6050 N8=0
6060 REM ASK WHICH WAY
6070 GOSUB 7000
6080 REM REMEMBER WHERE WE ARE, UNLESS A DEAD END
6090 IF N=1 THEN 6120
6100 N0=N
6110 A0=A1
6120 ?
6130 I=M(A1,N)
6200 IF I=-2 THEN I=N9
6210 IF D<>O THEN ? '>>> DEBUG';N;'TO';I
6220 IF I<500 THEN 6300
6230 REM DELAY LOOP TO WASTE SOME TIME
6240 I=I-500
6250 FOR J=0 TO 100
6260 NEXT J
6270 GOTO 6200
6300 ON I/100 GOTO 6340,6370
6310 REM NORMAL ROUTE-- LESS THAN 100
6320 N=I
6330 GOTO 6400
6340 REM N+100. ADD ONE IF CARRYING THE TREASURE
6350 N=I-100
6355 IF T=- 1 THEN N=N+1
6360 GOTO 6400
6370 REM N+200. ADD 1 IF CARRYING TREASURE THE SECOND TIME
6380 N=I-200
6390 IF T=-1 THEN N=N+P
6400 IF N<>1 THEN 6500
6410 REM DEAD END. TURN IT SO YOU GET OUT THE OTHER WAY
6420 FOR J=1 TO 6
6430 M(J,N)=2
6440 NEXT J
6450 M(7-A0,N)=N0
6500 REM ? OUT THE NODE DESCRIPTION
6510 IF N8<>2 THEN GOSUB 8000
6520 REM REMEMBER WEVE BEEN HERE
6530 W(N)=1
6540 N8=N
6600 IF M(1,N)<>-2 THEN 6800
6610 REM FORCED MOVE, WITH RANDOM DESTINATIONS
6620 REM ON THIS VERSION OF BASIC, J=-1 FOLLOWED BY RND(J)
6630 REM GETS YOU A NUMBER BETWEEN ZERO AND ONE.
6640 REM YOUR VERSION WILL DIFFER, AND THE NEXT FIVE
6650 REM LINES WILL HAVE TO BE CHANGED.
6660 I=M(6,N)
6670 J=1
6680 IF M(4,N)>100*RND(J) THEN I=M(5,N)
6690 J=1
6700 IF M(2,N)>100*RND(J) THEN I=M(3,N)
6710 IF D<>O THEN ?" >>> DEBUG BOUNCE TO";I
6720 REM NOW HAVE A NEW DESTINATION. GO BACK AND REDO IT
6730 GOTO 6200
6800 RETURN
7000 REM ---
7010 REM *** WHICH WAY? ***
7100 ?:?"WHICH WAY";
7120 A$="NEUDWSP"
7130 A2=7
7140 GOSUB 5000
7150 IF A1<8 THEN 7300
7160 ?"WHICH WAY DO YOU WANT TO GO"
7170 REM GIVE INSTRUCTIONS
7180 GOSUB 7500
7190 REM DESCRIBE THE LOCATION AGAIN
7200 GOSUB 8000
7210 GOTO 7100
7300 IF A1<7 THEN 7400
7310 REM CALCULATE AND ? SCORE
7320 GOSUB 3000
7330 ?"YOU HAVE"S"POINTS!"
7340 REM START AGAIN
7350 GOTO 7100
7400 RETURN
7500 REM ---
7510 REM SUBROUTINE TO GIVE INSTRUCTIONS
7520 ?:?"TYPE N,S,E,W,U,D OR P (NORTH, SOUTH,"
7550 ?"EAST, WEST, UP, DOWN, P FOR SCORE).":?
7570 RETURN
8000 REM ---
8010 REM DESCRIBE THE CURRENT LOCATION
8050 I=INT (N/5)
8060 J=N-5*I+1
8070 REM THERE ARE ENOUGH STATEMENT NUMBERS HERE TO HANDLE NODES
8080 REM ZERO THROUGH 49. YOU WILL HAVE TO ADD MORE IF YOU ADD
8090 REM NODES 50 AND BEYOND.
8100 ON I+1 GOTO 8200,8210,8220,8230,8240,8250,8260,8270,8280,8290
8200 ON J GOTO 9000,9010,9020,9030,9040
8210 ON J GOTO 9050,9060,9070,9080,9090
8220 ON J GOTO 9100,9110,9120,9130,9140
8230 ON J GOTO 9150,9160,9170,9180,9190
8240 ON J GOTO 9200,9210,9220,9230,9240
8250 ON J GOTO 9250,9260,9270,9280,9290
8260 ON J GOTO 9300,9310,9320,9330,9340
8270 ON J GOTO 9350,9360,9370,9380,9390
8280 ON J GOTO 9400,9410,9420,9430,9440
8290 ON J GOTO 9450,9460,9470,9480,9490
8400 IF T<>N THEN 8500
8410 ?:?" THE TREASURE IS HERE!"
8500 IF T<>T2 THEN 8600
8510 IF T1=T2 THEN 8600
8520 IF T1<>N THEN 8600
8530 ?:?"A NOTE ON THE WALL SAYS"
8550 ?" 'PIRATES NEVER LEAVE THEIR TREASURE"
8560 ?"  TWICE IN THE SAME PLACE!'"
8600 RETURN
9000 REM ---
9001 REM FIRST DATA STATEMENT IS NUMBER OF NODES, AND THE 2
9002 REM HIDING PLACES FOR THE TREASURE.
9003 DATA 42,23,12
9010 DATA 1,0,0,0,0,0,0
9011 ?"YOU'RE AT A DEAD END!"
9012 GOTO 8400
9020 DATA 2,-2,101,-2,0,0,0
9021 ?"YOU CAN'T GO IN THAT DIRECTION":?
9023 GOTO 8400
9030 DATA 3,33,2,1,10,106,4
9031 ?"A TUNNEL GOES NORTH-SOUTH."
9032 ?"THERE IS AN OPENING TO THE WEST."
9037 GOTO 8400
9040 DATA 4,3,30,2,11,2,1
9041 ?"YOU'RE ON THE BRINK OF A PIT."
9047 GOTO 8400
9050 DATA 5,8,8,15,10,8,16
9051 ?"YOU'RE OUTSIDE THE CAVE."
9052 ?"GO SOUTH TO ENTER."
9053 GOTO 8400
9060 DATA 6,16,3,2,10,2,2
9061 ?"YOU'RE AT THE HOME OF THE GNOME-KING."
9062 ?"FORTUNATELY, HE'S GONE FOR THE DAY"
9067 GOTO 8400
9070 DATA 7,-2,101,-2,0,0,0
9071 ?"THE GNOME KING IS HERE!"
9072 ?"YOU'D BETTER GET OUT!":?
9077 GOTO 8400
9080 DATA 8,18,18,15,10,18,9
9081 ?"YOU'RE LOST IN THE WOODS."
9087 GOTO 8400
9090 DATA 9,-2,33,5,1,0,-2
9097 GOTO 8400
9100 DATA 10,- 2,101,-2,0,0,0
9101 ?"YOU'RE NOT GOING TO GET FAR, DIGGING"
9102 ?"THROUGH ROCK.":?
9107 GOTO 8400
9110 DATA 11,1,13,4,2,1,2
9111 ?"YOU'RE AT THE BOTTOM OF A PIT. A LITTLE"
9112 ?"STREAM FLOWS OVER THE ROCKS HERE."
9117 GOTO 8400
9120 DATA 12,36,2,1,2,1,2
9121 ?"YOU'RE AT A DEAD END!"
9127 GOTO 8400
9130 DATA 13,2,37, 2,1,11,14
9131 ?"YOU'RE AT A WIDE SPOT THERE IS A"
9132 ?"SOOTY PATCH WHERE SOMEBODY HAS RESTED"
9133 ?"A TORCH AGAINST THE WALL. THERE ARE"
9134 ?"JAGGED ROCKS ABOVE YOU."
9137 GOTO 8400
9140 DATA 14,13,1,19,2,31,31
9141 ?"YOU'RE IN A CANYON. HIGH ON THE WALL"
9142 ?"ABOVE YOU IS SCRATCHED THE MESSAGE"
9143 ?"  'BILBO WAS HERE'"
9147 GOTO 8400
9150 DATA 15,-2,101,-2,0,0,0
9151 ?"YOU'RE NOT A BIRD. YOU CAN'T FLY!":?
9157 GOTO 8400
9160 DATA 16,5,33,2, 10,1,106
9161 ?"YOU'RE IN A LOW CHAMBER. A TIGHT TUNNEL"
9162 ?"GOES EAST, AND YOU CAN WALK TO THE"
9163 ?"SOUTH OR WEST. THERE IS LIGHT"
9164 ?"TO THE NORTH."
9167 GOTO 8400
9170 DATA 17,-2,101,-2,0,0,0
9171 ?"IT'S A TIGHT SQUEEZE. YOU CAN'T"
9172 ?"GET PAST WITH THE TREASURE.":?
9177 GOTO 8400
9180 DATA 18,-2,101,8,0,0,0
9181 ?"I DON'T THINK YOU CAN FIND THE CAVE."
9187 GOTO 8400
9190 DATA 19,224,2,2,14,1,42
9191 ?"YOU'RE AT THE TOP OF A CLIMB."
9192 ?"BELOW YOU A MESSAGE SAYS"
9193 ?"  'BILBO WAS HERE'"
9197 GOTO 8400
9200 DATA 20,226,1,2,2,25,2
9201 ?"YOU'RE AT THE NORTH SIDE OF A CHASM,"
9202 ?"TOO WIDE TO JUMP. RINGING ECHOES FROM"
9203 ?"BELOW ARE THE ONLY INDICATION OF DEPTH."
9207 GOTO 8400
9210 DATA 21,1,226,2,2,38,25
9211 ?"YOU'RE IN XANADU. BELOW YOU"
9212 ?"ALPH , THE SACRED RIVER RUNS"
9213 ?"THROUGH CAVERNS MEASURELESS TO MAN,"
9214 ?"DOWN TO A SUNLESS SEA."
9217 GOTO 8400
9220 DATA 22,-2,33,13,50,29,30
9227 GOTO 8400
9230 DATA 23,2,1,2,31,2,2
9231 ?"YOU'RE ON THE LEDGE ABOVE THE GUILLOTINE ROOM."
9237 GOTO 8400
9240 DATA 24,-2,101,19,0,0,0
9241 ?"I HEAR THE GIANT THERE!!!"
9242 ?"YOU'D BETTER GO BACK!":?
9247 GOTO 8400
9250 DATA 25,21,20,2,2,1,19
9251 ?"YOU'RE IN THE GIANT'S CAVERN. BETTER"
9252 ?"NOT BE HERE WHEN THE GIANT COMES!"
9257 GOTO 8400
9260 DATA 26,-2,65,-2,50,11,14
9261 ?"YOU'RE IN THE QUEST RESEARCH AND"
9262 ?"DEVELOPMENT AREA.":?
9264 ?"I'M SORRY, BUT VISITORS ARE NOT"
9265 ?"ALLOWED. YOU'LL HAVE TO LEAVE.":?
9267 GOTO 8400
9270 DATA 27,2,40,2,2,21,20
9271 ?"YOU'RE IN THE CRYSTAL PALACE. THE"
9272 ?"WALLS RESONATE WITH":?"AWESOME MUSIC."
9280 DATA 28,-2,60,221,50,14,19
9287 GOTO 8400
9290 DATA 29,2,42,2,13,1,1
9291 ?"YOU'RE AT THE TOP OF A GIANT STALACTITE."
9292 ?"YOU COULD SLIDE DOWN, BUT YOU COULDN'T"
9293 ?"CLIMB BACK UP."
9297 GOTO 8400
9300 DATA 30,34,34,2,1,4,2
9301 ?"YOU'RE IN A LITTLE GROTTO. THERE IS A"
9302 ?"BOOK HERE CALLED JANE'S FIGHTING SHIPS,"
9303 ?"DATED 1763."
9307 GOTO 8400
9310 DATA 31,14,14,23,2,1,2
9311 ?"YOU'RE IN THE GUILLOTINE ROOM. A SHARP"
9312 ?"ROCK BALANCES PRECARIOUSLY ON THE"
9313 ?"LEDGE ABOVE YOU."
9317 GOTO 8400
9320 DATA 32,-2,101,516,0,0,0
9321 ?"YOU'RE IN A CHUTE, SCRAMBLING DOWN THE"
9322 ?"ROCKS! NO WAY TO STOP! HANG ON!":?
9327 GOTO 8400
9330 DATA 33,2,1,2,1,116,3
9331 ?"THE TIGHT TUNNEL TURNS A CORNER."
9332 GOTO 8400
9340 DATA 34,1,35,2,1,30,30
9341 ?"YOU'RE IN A LITTLE TWISTY MAZE"
9347 GOTO 8400
9350 DATA 35,2,1,2,37,34,36
9351 ?"YOU'RE IN A LITTLE TWISTING MAZE"
9357 GOTO 8400
9360 DATA 36,35,2,1,37,34,12
9361 ?"YOU'RE IN A TWISTING LITTLE MAZE"
9367 GOTO 8400
9370 DATA 37,2,1,35,2,13,2
9371 ?"YOU'RE IN A TWISTY LITTLE MAZE"
9377 GOTO 8400
9380 DATA 38,2,21,2,116,1,2
9381 ?"YOU'RE IN A PREHISTORIC DWELLING. ON"
9382 ?"THE WALL ARE DRAWINGS OF BISON DONE IN"
9383 ?"RED CLAY. THE FLOOR IS STREWN WITH"
9384 ?"BONES, THE REMAINS OF ANCIENT RITUALS."
9385 ?"A SMALL TUNNEL GOES THROUGH THE FLOOR."
9387 GOTO 8400
9390 DATA 39,2,40,2,32,21,26
9391 ?"YOU'RE IN A BLACK HOLE. THE"
9392 ?"FORCE OF GRAVITY IS OVERWHELMING."
9397 GOTO 8400
9400 DATA 40,40,40,2,2,40,41
9401 ?"YOU'RE IN THE LABYRINTHE"
9407 GOTO 8400
9410 DATA 41,40,40,40,2,40,39
9411 ?"YOU'RE IN THE LABYRINTHE"
9412 ?"IT'S VERY DARK IN HERE."
9417 GOTO 8400
9420 DATA 42,28,28,28,28,28,28
9421 ?"YOU'RE IN THE ASHRAM. INCENSE IS HEAVY"
9422 ?"IN THE AIR, AND ALL DIRECTIONS"
9423 ?"SEEM THE SAME."
9427 GOTO 8400
9430 REM NO NODES SET UP FOR THESE VALUES.
9440 REM IF YOU GET HERE,REM YOU HAVE A MISTAKE
9450 REM IN A DATA STATEMENT.
9450 REM
9460 REM
9470 REM
9480 REM
9490 REM
9500 REM
9510 REM
9520 REM
9530 REM
9999 END


Poznámka:

Programový riadok 5 je špecifický pre SBC6502 /prepnutie na 80znakov v riadku a následný CLS/.

_____________________________________________________________

Vaše hodnotenie, Rate post:

USBprog - Part11. Bipolárne PROM - zapojenie vývodov.

By Administrator at mája 17, 2023 17:10
Filed Under: SBC8085-NCB85

Bipolárnych PROM existuje viacero typov, USBprog dokáže naprogramovať tie ktoré sú uvedené v prvej trojici. Majú "iba" 16 pinov, ostatné typy sú už o niečo väčšie (18, 20 a 24 pinov).

Niekedy sa k nám môžu dostať aj spomenuté typy bipolárnych PROM, tak nech nemusíme hľadať zapojenie ich vývodov:


 

 

Poznámka: A0÷A10 - adresné piny, B0÷B7 - dátové piny, CE - chip enable

_____________________________________________________________________

 

Ďalšie časti:

USBprog - Eprom + Prom programmer. Part1.

USBprog - Eprom+ Prom programmer. Shield 2732. Part2.

USBprog - Eprom+ Prom programmer. Tabuľka Eprom pamätí. Part3.

USBprog - Eprom + Prom programmer. Part4. Prepínač Vpp. Vpp selector.

USBprog - Eprom + Prom programmer. Part5. Eprom 2732B ... pffffffff ...

USBprog - Eprom + Prom programmer. Part6. Shield for 8748-8749.

USBprog - Eprom + Prom programmer. Part7. Shield for 74188,74S287,74S571.

USBprog - programmer. Part8. Obsahy-contents 8048,8049,8748,8749.

USBprog - Part9. HW patch for shield for 8748H-8749H.

USBprog - Part10. Obsahy-contents PROM 74287, 74S287, 74571, 74S571.

USBprog - Part12. Čítanie (read) procesorov 8048 + 8049.

____________________________________________________________

Vaše hodnotenie, Rate post:

Mini plotter + processor 6502.

By Administrator at mája 04, 2023 08:03
Filed Under: Non-Atari

Pred 38 rokmi bol uverejnený tento zaujímavý návod ako si doma postaviť malý plotter riadený procesorom 6502, vstupom do zariadenia je rozhranie Centronics.

Plotter 6502.pdf (2,33 mb)

Osobne by som privítal keby niekto bližšie popísal ako je to s tou použitou Eprom a rozložením dát v nej ...

_____________________________________________________________

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: