<GoCom> <Gondos Csaba> <HG5BMU>
Smartmédia illesztő ZX Spectrumhoz
Használható memória méretek 8/16/32Mb
Kiegészítő programok +D lemez mentés formátumban (Realspectrum): sm util.zip
-flashman.bas, menu c.cde, fman1 a.cde : formázás, törlés, autorun, elrejtés beállítás
-fman1.cde : OCP assembler forrásszöveg az előző programhoz
-fsys1.cde : forrászöveg a ROM módosított programjaihoz
-cat_rel.cde : fsz. a relokálható katalógus programhoz. tárgykód: cat.cde
-cat_wp : fsz. a munkaterületet használó katalógusprogramhoz. tárgykód: scat.cde
-cat_pr : fsz. a printer puffert használó katalógushoz. tárgykód: pcat.cde
A cat code programoknál a flash kártyára másolás után a flashman programmal az autorun opciót be kell kapcsolni.
A cat parancsok használata:
LOAD "cat", LOAD "cat*{a-z}", LOAD "cat*?", LOAD"cat**", LOAD"cat*", LOAD"cat" CODE,32768, LOAD "cat*{a-z}h"
Az illesztő áramör használható más tipusú géphez is, de ott a müködtető programokat módosítani kell (ROM).
A használt perifériacímek (119) adat ki-bemenet, (127) vezérlőbitek tároló kimenet: D0 ALE, D2 CLE, D5 #CE.
Az áramkörben van lehetőség hardware írásvédelemre, ezt pl. egy külső kapcsolóval lehet megvalósítani.
A 48K módosított ROM-ban az eredeti magnetofon SAVE LOAD programjai helyett
(04c2h-09f3h) kerültek a flash kezeléshez szükséges alapprogramok.
A beépített programok: iró, olvasó, irás esetén ugyanarra a névnél felülírásra rákérdez, autorun Code elindítása, (a katalógus kiiratás pl. autorun code -al lett megvalósítva),
LOAD "név" CODE helyett használható a LOAD "név" is, ebből következik, hogy nem lehet ugyanaz a neve különböző kiterjesztésű file-oknak.
Ez az autorun-os rendszerprogramok egyszerübb (rövidebb beírás) használata miatt lett kialakítva.
FAT illetve katalógusterület nincsen, a file-ok a felvétel sorrendjében helyezkednek el, az adott file első lapján (page) vannak az azonosítók (fej):
-tipus 1byte: 0-1 bit BAS,DATA,UDG,CODE; bit4=0 file törölve;bit5 autorun code; bit6=0 láthatatlan; bit7=1
-név 10 byte
-adat hossz 2 byte
-adat kezdet 2byte
-programhossz 2 byte
-ellenőrzőösszeg (CRC) 2 byte
-tipus2 1byte
A következő laptól következnek az adatbyte-ok.
Majd utána a következő file ...
A formatálás minden byte-ot 255-be állít, a file törlés csak a tipus 4bit-et írja 0-ba, az adatok megmaradnak, megfelelő segédprogrammal ilyenkor még lehetőség van a file beolvasására.
Az adatokat rendszerezni lehet 26 csoportba (tipus2) A-Z ig, célszerü alkalmazás szerint (pl. game, system, toolkit, word editor, machine code...) mindenkinek a saját elgondolása szerint.
A flash legelső lapján a 0-15 byte a flashkártya neve, 16-17 byte a formázott méret lapszámban, 32byte- tól a 26 azonosító neve mindegyik 16 karakter hosszú, ezeket a formatáláskor kell megadni.
A normális SAVE-nél a type2 azonosító nincs beírva, ezt később egy segédprogramal elvégezhető, mint az autorun, láthatatlan és törölve bit beállítása is.
A Save parancsnál, ha a név 10. karaktere ASCII 0-25, akkor beállítja a megadot azonosítót.
Igy van lehetőség programok esetében a munkaállományokat rögtön a megadott azonosítóval menthetjük el, pl. assembler, szövegszerkesztő, stb.
A fontosabb rutinok a ROM-ban:
04C2h: A:0 save 1 load: IX: fej adatterület címe, IX+17 től még 20byte-ot kell biztosítani munkaterületnek,.ha (IX+10)<26 save-nél tipus2, HL: cimmutató, ha HL=FFFFh a load csak a fejet tölti be
04C8h: read data: 'DE flash lapcím, DE hossz, IX adat kezdet, ha belépéskor carry=0 nem irja be az olvasási címet ('DE) a flash-ba, 'HL crc out
04CEh: write data: 'DE flash lapcím, DE hossz, IX adat kezdet, 'HL crc out
A felhasználói programok töltés, mentés rutinjainak módosításához a fenti programrészek használhatóak, az adott körülményenek megfelelően.
Ha a müveletek (04C2h használatánál) a hibarutinon keresztül fejeződnek be, (érvénytelen vagy használt file-név, írásvédelem esetén) akkor az árnyékregiszterek tartalma ne kerül visszaírásra.