COMMODORE VC-1541-II floppy illesztése a ZX-81-hez
|
|
A teljes összeállítás
|
A SZOFTVERRŐL:
A címben említett kapcsolat megvalósítása csupán része egy átfogóbb átalakításnak a ZX81-en. Az átalakítás munkásabb része a hardvert érinti, a szoftverhez csak a letölthető hex-fájlt kell beégetni egy megfelelő ROM-ba. A hardver munkákhoz kapcsolási rajz áll rendelkezésre (illetve letölthető).
A szoftver egy 16 KB-os EPROM-ban üzemel, mely 4 db 4 KB-os lapra van felosztva. Az éppen aktuális lap a $2000...$2FFF memóriaterületen helyezkedik el. Indítása a RAND USR 8888 paranccsal történik, melynek eredményeképpen egy (jelenleg) 2 oldalból álló "USER-ROM"-lista jelenik meg ( 1., 2., 3. kép). Jelenleg az első oldal 7., 8., 9. programja valamint a második oldal 0. és 7. programja nem működik.
A programok közül a legjelentősebb a "ZX MONITOR", mely az EPROM teljes 1. lapját és a 0. lap egy részét is elfoglalja. A MONITOR a C/+4 Commodore gép monitorjához hasonló utasitásokat tartalmaz, úgymint: A, G, M, T, C, F, H, >, D, L, S. Ez a MONITOR persze házi készítésű, és így némi kívánnivalót hagy maga után --- az indexregiszteres utasitásokat (IX és IY tartalmazókat **) nem lehet közvetlenül beírni az assemblerben; de disassemblálni teljeskörűen lehet. A ROM-lapok közötti lapozáshoz a $4021 cimre kell beírni a kívánt ROM-lap számát (00, 01, 02, 03) ; például a ">" paranccsal (4., 5. kép).
|
4. kép
|
|
5. kép
|
Jelenleg az EPROM 2. és 3. lapja teljesen üres, eltekintve a leggyakrabban használt és így minden lapon közös rutinoktól (például minden lap legelején a lapozó rutin). A Commodore floppyt (VC-1541 II.) kezelő programrészlet a 0. lapon helyezkedik el a $25B8...$2ABB címtartományban. Ezen parancsok szintaxisa a következő:
L "$" |
= directory. ( 6. kép) |
L "név" |
= a megnevezett fájlt a kimentési címétől betölti (név* is működik). (7. kép) |
L "S:név" |
= törli a megnevezett fájlt (scratch) (8. kép) |
S "név (max16)" TÓL IG |
= menti a megadott címek közötti memóriatartalmat a megadott
nevű fájlba. A címeket négykarakteres hexa címként kell beírni,
előtte és közöttük egy-egy szóközt kell hagyni. Az IG-cimet
már nem menti ki. (9. kép) |
|
6. kép
|
|
7. kép
|
|
8. kép
|
|
9. kép
|
** = az indexregiszteres utasitásokat így lehet beadni assembláláskor:
A | 3200 |
A | LD B,(HL) |
A | LD C,B |
A | I FD A6 11 |
: az "I" jelzőkarakter után közvetlenül a gépi kódot írjuk be, ez például az AND (IY+11) utasitás lesz. |
A | LD A,(5308) |
A HARDVERRŐL:
Mint ismert, a ZX-81 alapromja a $0000...$1FFF területen van. Az itt ismertetett USER-ROM a $2000...$2FFF területen van, egymást átfedő 4 lapon.
A $3000...$37FF címtartományra egy 2 KB-os statikus CMOS-RAM-ot helyeztem el. Ez a RAM különösen alkalmas assembly programok fejlesztésére mivel elszállás utáni reseteléskor megőrzi tartalmát, míg a főtár ilyenkor törlődik. Néhány mikroamperes fogyasztása révén még ellátható egy külső vagy belső - három sorbakapcsolt gombelemből álló - tápegységgel, igy programfejlesztéskor szükségtelen elővenni a lemezmeghajtót, mivel tartalmát hetekig megőrzi.
A $3800...$3FFF címtartomány az I/O-terület. Ide lett kikódolva a ROM-lapozó ($3F7A), és a floppyhoz szükséges vonalakat kezelő áramkörök ($3877). Még rengeteg üres cím van.
A főtár a $4000 címen kezdődik. Az eredeti 1 KB-os RAM kiszedése után ide két darab - egyenként 8 KB-os - statikus CMOS-RAM került beépítésre, így most a $4000...$7FFF terület a főtár ( a két RAM-IC egymásra lett helyezve, lábaik összeforrasztva, kivéve a 20. lábat(10. kép).
|
10. kép
|
A kapcsolási rajzon a megjelölt részletek funkciói az alábbiak:
1 = az alap-ROM visszhangját letiltja és a főtár területet kódolja ki
2 = közvetlen videojelkimenet a nagyfrekis egység kihagyásával
3 = RESET-gomb egy világitódiódával
4 = a megszünt régi RAM
5 = a két új 8 KB-os RAM
6 = az eredeti stabilizátor + hütőlap kikerült a gépből, igy a betáp közvetlen 5 V-os
A = memóriamegőrző külső táp alkalmazása esetén szükséges
B = a USER-ROM, a 2 KB-os RAM és az I/O-területet kódolja ki
C = egy piezo-lapkával a fóliabillentyüzet hallhatóvá válik
D = a floppy használatához szükséges soros vonalak áramkörei
E = az előző pontbani áramkörök cimének kikódolásához
F = a ROM-lapozó áramkör és ennek cimkikódolása
|
Az eredeti kapcsolás átalakításai
|
|
Az újonnan hozzáépítettek
|
Mint a 11. és 12. képen látható, a nyomtatott áramkör eléggé zsúfolt (a floppyhoz szükséges áramkörök utólag lettek beépitve). A manapság széles változatban kapható SMD alkatrészekkel mindez jóval kulturáltabban kivitelezhető.
|
11. kép
|
|
12. kép
|
A Rom-listákat tartalmazó fájlok innen letölthetők:
Belső ROM
User ROM
A Rom-listákat tartalmazó fájlokat az alább letölthető programmal lehet szerkeszteni:
HEXA-Editor
Érdeklődés esetén készséggel válaszolok további részletes kérdésekre az alábbi e-mail cimen:
myhomepage@citromail.hu
Margitai István |
2006. október 20. |