Tartalomjegyzék:
- Kellékek
- 1. lépés: A szoftver hozzáadása a Build számítógéphez
- 2. lépés: Eszközök hozzáadása a Windows elérési útjához
- 3. lépés: A Tasm tesztelése
- 4. lépés: Keresse meg a valós idejű óra címét
- 5. lépés: A Bios hozzáadása új lemezképhez
- 6. lépés: Indítsa el az új lemezképet
Videó: Z80 MBC2 - A QP/M bios és a betöltő újrafordítása: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ha hozzám hasonlóan olyan helyzetben találja magát, hogy újra kell fordítania a QP/M bios -t az MBC2 -hez - akkor ezt így kell tennie.
Dokumentáltam a folyamatot, a meglévő verzió újrafordítását. Az Ön feladata, hogy szükség esetén módosítsa a tényleges Bios fájlokat. Csak azért hajtottam végre módosításokat, hogy a QP/M telepítését a CP/M 2.2 Bios verziójával összhangban használhassam (ezeket a módosításokat nem csak a folyamat mutatja)
A folyamat első része majdnem megegyezik a CP/M 2.2 Bios -szal, így ha már készen áll a build számítógép, nyugodtan ugorjon át ezen a részen.
A fő különbség az, hogy a QP/M -nek a rendszerindító lemez első sávjából kell betöltenie - nem egy.bin fájlt, mint például a CP/M 2.2.
Kellékek
Windows gép a fordító futtatásához. KVM -en futó Windows XP virtuális gépet használtam, mert nagyon kicsi, és soha nem fog internetezni. De Windows 10 alatt tökéletesen működik.
A TASM 3.2 z80 fordító, keress rá a google -ban, a következő címen kell elérned:
Az SD zip fájl másolata a z80-mbc2 honlapjáról, írásakor a
CPMTools for windows a https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip fájlról, amely 32 bites verzió, de 64 bites rendszereken rendben működik.
1. lépés: A szoftver hozzáadása a Build számítógéphez
Miután elindította a Windows gépet, másolja vagy töltse le a fenti „szüksége lesz” szakaszban említett fájlokat.
Hozzon létre egy működő könyvtárat a gépén, azt javaslom (a sok gépelés és elgépelés elkerülése érdekében), hogy hozzon létre egy könyvtárat a C meghajtón, például c: / z80mbc. Határozottan javasoljuk, hogy kerülje a szóközöket a nevekben, ha lehetséges, és a hosszú könyvtárútvonalakat. Ne komplikáld túl.
Hozzon létre egy mappát ebben a könyvtárban a TASM fájlok betöltéséhez, c: / z80mbc / tasm
Hozzon létre egy mappát az SD -kártya képéhez, c: / z90mbc / SD
Kattintson a jobb gombbal az egyes fájlokra, és bontsa ki a tartalmat a fent létrehozott könyvtárakba. Tehát a tasm.zip kibontásra kerül a c: / z80mbc / tasm fájlba, a megijedt zip fájl pedig a c: / z80mbc / SD mappába.
A következő lépések megkönnyítése érdekében kicsomagolhatja a cpmtool32.zip fájlt egy másik könyvtárba, például c: / z80mbc / cpmtools.
2. lépés: Eszközök hozzáadása a Windows elérési útjához
A Windows verziójától függően tegye a következőket
Windows 10
Nyissa meg a tulajdonságok menüt a jobb oldali egérgombbal a „Ez a számítógép” elemre kattintva egy felfedező ablakban.
Kattintson a „Speciális rendszerbeállítások” gombra, ez megnyit egy „Rendszer tulajdonságai” elnevezésű ablakot (Más módon is elérheti a rendszer tulajdonságait, de nem nagyon használom az ablakokat, így ez az én módom!)
Kattintson a „Környezeti változók” elemre
Windows XP
Kattintson a Start gombra, kattintson a jobb gombbal a „Sajátgép” elemre, majd kattintson a tulajdonságokra a „Rendszer tulajdonságai” megjelenítéséhez.
Kattintson a Speciális fülre
Kattintson a „Környezeti változók” elemre
Amikor megjelenik a Környezeti változók ablak a képernyőn, két dolgot kell tennie;
Új változó hozzáadása
Az ablakok felső részén, a "felhasználói változók …" alatt
Kattintson az Új gombra
A Név típushoz a TASMTABS -ban
Az érték típusához c: / z80mbc / tasm
Módosítsa a PATH változót
Az ablak alsó részén, a "Rendszerváltozók" alatt
válassza ki (jelölje ki) Útvonal, majd kattintson a Szerkesztés gombra
A meglévő tartalom végén adja hozzá: c: / z80mbc / tasm; c: / z80mbc / cpmtools
(Ne felejtsük el a pontosvesszőt az elején!)
Most újra kell indítania a számítógépet, hogy ezek a kiegészítések érvénybe lépjenek.
3. lépés: A Tasm tesztelése
Annak érdekében, hogy tesztelni tudjuk a meglévő QP/M BIOS pontos másolatát, össze kell állítanunk egy kicsit. A könyvtár fájljai a következők:
BIOS QPM271 - S150918.asm - A fő BIOS fájl, valószínűleg ez a fájl, amelyet módosítani fog.
QPM271_ColdLoader - S160918.asm - ez a QP/M betöltő, beolvassa a lemezképből az első számokat a memóriába. Egy hagyományosabb CP/m rendszerben ezt bootstrap -nek nevezik, és EEPROM vagy ROM -ban lesz. Nem kell módosítania ezt a fájlt, amelyet már lefordítottak, és az SD -kártya képén QPMLDR. BIN néven található
SYSGENQ - S140918. Lényegében olvassa és írja a fenti hűtőtöltő által használt műsorszámokat.
Mielőtt tesztelnénk a TASM telepítést, szüksége van még egy fájlra, a cpm22_Z80MBC2.asm fájlra, ez alapértelmezés szerint nincs ebben a könyvtárban, mivel ugyanaz a fájl, amelyet a cpm 2.2. Szükségünk van erre a fájlra, hogy az eredeti CBIOS/CCP -t biztosítsuk a QP/M kezdeti indításához. Ezt a fájlt másolhatja a CPM_22_Custom_BIOS könyvtárból.
A másoláshoz használja a Windows Intézőt, vagy a parancssorból (CMD)
cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS
másolás.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm
Most módosítania kell ezt a fájlt, hogy tartalmazza a QP/M BIOS -t, nyissa meg a fájlt jegyzettömb segítségével:
keressen rá a "QPM" kifejezésre (CTRL-F, vagy szerkesztés menü és keresés) Lásd a fenti képet
módosítsa a fájlt innen:
;-----------------------------------------------------------------------
; Z80-MBC2; ----------------------------------------------- -------------------------; #include "BIOS QPM271-S150918.asm"; Tartalmazza a CBIOS-t a Z80-MBC2 #tartalmaz "BIOS CPM22-S030818-R140319.asm"; CBIOS a Z80-MBC2-hez
Nak nek:
;-----------------------------------------------------------------------
; Z80-MBC2; ----------------------------------------------- ------------------------- #include "BIOS QPM271-S150918.asm"; CBIOS a Z80-MBC2-hez;#tartalmazza "BIOS CPM22-S030818-R140319.asm"; CBIOS a Z80-MBC2-hez
Ellenőrizze az iLoadMode értékét a másolt cpm22_Z80MBC2.asm fájlban is, a 40. sor körül:
;-----------------------------------------------------------------------
; Z80-MBC2; ----------------------------------------------- ------------------------- iLoadMode.equ 0; Állítsa 1 -re az iLoad módhoz (teszteléshez),; állítsa 0 -ra a 0 sáv képgenerálásához; állítsa 2-re a cpm22.bin bináris fájlgeneráláshoz; --------------------------------------- --------------------------------
0 -nak kell lennie, ez az alapértelmezett - de mindenképpen ellenőrizze!
Ha kész, mentse el a fájlt.
most futtathatja a tasm -ot:
tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
Vegye figyelembe a különböző kimeneti fájlnevet, ha minden jól megy, akkor a kimenetet így kell látnia:
c: / z80mbc / sd / src / QPM_271_Custom_BIOS> tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin
TASM Z80 összeszerelő. Verzió 3.2, 2001. szeptember. Copyright (C) 2001 Squak Valley Software tasm: pass 1 complete. tasm: 2. pass teljes. tasm: Hibák száma = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>
Készen áll a szükséges változtatások elvégzésére a BIOS -ban! fájlt.
4. lépés: Keresse meg a valós idejű óra címét
A BIOS új verziójának telepítése előtt a QP/M telepítés egy részének ismernie kell a valós idejű óra rutinok beviteli címét. Ha ezt bármikor nem állítja be, a QP/M funkciói hibaüzenetként visszaadják a "No Clock" feliratot.
A cím megszerzéséhez szerkessze a qpm22.bin fájl fordításakor létrehozott LST fájlt, pl.
Jegyzettömb cpm22_Z80MBC2.lst
Keresse meg a TIMDAT címkét, a Ctrl-f billentyűt (vagy keresse) a TIMDAT keresést, és talál egy ilyen részt:
0855+ EC16; ================================================== =========================;
0856+ EC16; TIMDAT; 0857+ EC16; ================================================== =========================; 0858+ EC16; Ez többek között egy QP/M specifikus rutin a QP/M-valós idejű óra interfészhez; 0859+ EC16; hogy teljes mértékben kihasználja a QP/M idő/dátum bélyegzés funkcióit.; 0860+ EC16; A TIMDAT címét meg kell adni a QINSTALL során a (z) opció segítségével; 0861+ EC16; a QDOS telepítési menü (lásd a QP/M telepítési útmutató 26-27. oldalát); 0862+ EC16;; 0863+ EC16; MEGJEGYZÉS: Ha az RTC nincs jelen, az IOS minden 0 bájtot megad. Ez; 0864+ EC16; "értelmezi" a QP/M "NEM ÓRA" -ként.; 0865+ EC16; ================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK
Jegyezze fel a második oszlop HEX címét, ebben az esetben EC16. Vegye le az értéket a megjegyzések alatti sorból, közvetlenül a JP USERCLK ugrási utasítás felett. Ahol azt írja, hogy TIMDAT.
Most megvan a völgy, kiléphet a fájlból, és folytathatja a QP/M intsall -t
5. lépés: A Bios hozzáadása új lemezképhez
Ebben a lépésben elkészítjük saját példányunkat a DS1N00. DSK rendszerindító lemezről, és hozzáadjuk a BIOS saját verzióját a QP/M telepítésének befejezéséhez.
Először is készítsen egy ideiglenes mappát a C meghajtóról, hogy megőrizze a munkapéldányokat. Nyissa meg a CMD parancssort, és írja be a következőt
cd c: / z80mbc
mkdir temp cd temp
Ezután másolja az eredeti lemezképet az SD könyvtárból
másolás c: / z80mbc / sd / DS1N00. DSK.
Szerezze be az aktuális fájlokat a lemezképből:
cd c: / z80mbc / temp cpmcp -f z80mbc2 -d0 DS1N00. DSK 0:* lemez0
A fenti sorrend egy ideiglenes mappát hoz létre a temp0 könyvtárban, amelyet disk0 -nak hívnak, és az összes létező fájlt lemásolják a lemezképből a könyvtárba. Használja a DIR alkalmazást, miután meggyőződött arról, hogy megvannak a fájlok.
Ezután formázhatjuk a lemezképet új lemezként, ez az egyetlen egyszerű módja annak, hogy hozzáadjuk a rendszerindító sávokat a lemezképhez anélkül, hogy teljesen új lemezt kellene létrehoznunk a semmiből. Ne feledje, hogy a „-b” opció a fent összeállított BIOS-t használja.
mkfs.cpm -f z80mbc2 -d0 -b c: / z80mbc / sd / src / QPM_271_Custom_BIOS / qpm22.bin DS1N00. DSK
Most a rendszerindító sávok frissültek, hozzáadhatja az eredeti fájlokat a képhez:
cpmcp -f z80mbc2 -d0 DS1N00. DSK lemez0/* 0:
Most van egy indítható lemeze, valójában a CP/M -et fogja indítani, nem a QP/M -et a következő lépésben a QP/M telepítőt használjuk a CP/M rendszer CBIOS részének cseréjéhez
Győződjön meg róla, hogy rendelkezik a rendszerindító SD -kártya működő másolatával, majd másolja az ebben a lépésben létrehozott DS1N00. DSK -fájlt az SD -kártya gyökérmappájába, és ez helyettesíti a meglévő fájlt.
6. lépés: Indítsa el az új lemezképet
Csatlakoztasson egy soros terminált a z80mbc2 -hez
tartsa lenyomva a felhasználói kapcsolót, tartsa lenyomva, nyomja meg és engedje fel a visszaállító kapcsolót. Amikor a felhasználói LED kialszik, és az IOS jelzőfény villog, engedje el a felhasználói kapcsolót.
Most a terminál "Boot" képernyőjén kell lennie, például: Z80 -MBC2 - A040618
IOS - I/O alrendszer - S220718 -R240620 IOS: Z80 órajel 8 MHz -re beállítva A CP/M Autoexec ki van kapcsolva IOS: Válassza ki a rendszerindítási módot vagy a rendszerparamétereket: 0: Nincs módosítás (3) 1: Alap 2: Forth 3: OS betöltése az 1. lemezkészletből (QP/M 2.71) 4: Autoboot 5: iLoad 6: Z80 órajel megváltoztatása (-> 4 MHz) 7: CP/M Autoexec váltása (-> BE) 8: Lemezkészlet 1 módosítása (QP/M 2.71) 9: RTC idő/dátum módosítása Írja be a választást>
A 8. opcióval módosítsa a lemezkészletet QP/M -re, amikor kiválasztja, be kell töltenie a QP/M BIOS -t. Azt is javaslom, hogy nyomja meg a reset gombot, mivel a 8. opció utáni első betöltést többször is meghiúsultam. Mint ez:
IOS: Jelenlegi lemezkészlet 1 (QP/M 2.71)
IOS: Betöltési program betöltése (QPMLDR. BIN)… Kész
Megjegyzés: A BIOS -fájl szerkesztésekor hozzáadtam a fenti "Egyéni verziót", csak ennek a lépésnek a bemutatójaként.
Ekkor valójában a CP/M 2.2 Cbios programot futtatja a QP/M egyéni BIOS -jával, így az olyan dolgok, mint a TIME parancs nem működnek, például ha beírja a TIME -t (válaszoljon dátummal és idővel), akkor a CP/M 2.2 TIME válasz? - azt hiszi, hogy ez egy parancs a lemezen, és nem találja.
Itt az ideje, hogy telepítse a QP/M csere CBIOS -t a lemezképre.
Indítsa el a qinstall.com programot:
A> qinstall
QP/M 2.7 Telepítési/konfigurációs program v2.1 A QINSTALL a SYSGEN programját használja a QP/M lemezre telepítéséhez. A rendszer konfigurálása után a rendszer kéri a SYSGEN program nevét. Ennek a segédprogramnak elérhetőnek kell lennie az egyik lemezen. A QINSTALL sikeres befejezéséhez a lemezen lévő rendszerképnek és a memóriában lévő rendszernek azonosnak kell lennie. (Használja a program megszakításához.) Folytatni szeretné? (I/N):
Ezután válaszoljon Y -ra a folytatáshoz.
A következő kérdés a QCP beállításokról lesz (később játszhat!), Most mondjuk N
Szeretné megvizsgálni és/vagy módosítani
az alapértelmezett QCP beállításokat? (I/N): N
Ezután megkérdezi a QDOS beállításokról, nyomja meg az Y gombot
Szeretné megvizsgálni vagy módosítani
az alapértelmezett QDOS beállítások? (I/N): Igen
Ilyen menüt kapsz:
*** QDOS rendszer telepítési beállításai ***
A konzolvizsgálat során kapott karakter mentése. IGEN A BIOS támogatja a BDOS hibakód táblázatot ………. NEM Az idő/dátum ugrásvektor címe …………. TILTOTT Meghajtó/felhasználó keresési funkció ……………….. ENGEDÉLYEZTETT Automatikus lemeznaplózás …………………… ENGEDÉLYEZÉS A kezdeti beállítások visszaállítása Kilépés a QDOS telepítéséből
Ezen a ponton meg kell adnia a fenti 4. lépés HEX számát (keresse meg a valós idejű óra címét)
Nyomja meg a 2 gombot, és írja be az EC16 HEX címet, ha nem változtatott a bioson, az én esetemben ez az EC04, mivel hozzáadtam néhány szöveget stb.
Adja meg az idő/dátum vektor címét hexadecimális számban (0 -tól TILTVA): EC04
Most kiléphet a QDOS menüből, és folytathatja.
A következő képernyőn látható:
Írja be a SYSGEN program nevét, majd nyomja meg a RETURN gombot.
(Adja meg a meghajtót, ha szükséges; ne használjon. COM kiterjesztést): SYSGENQ
Adja meg a sysgen speciális verzióját, az úgynevezett SYSGENQ -t
Ezután látni fogja:
*** 59k QP/M kép létrehozása ***
A QINSTALL most végrehajtja az A: SYSGENQ. COM fájlt. Meg kell utasítania az A: SYSGENQ. COM -ot, hogy olvassa el a rendszer sávjait. Amikor a READ befejeződött, lépjen ki a SYSGEN programból. Megjelenik a "*** QINSTALL search for system image ***" üzenet, amelyet további utasítások követnek. Nyomja meg a folytatáshoz -VAGY -a megszakításhoz -
A folytatáshoz nyomja meg a C gombot:
SYSGENQ - S140918 - Z80 -MBC2
CP/M 2.2 SYSGEN-szerű segédprogram Csak a QP/M 2.71 telepítéséhez használja a QINSTALL. COM használatával FIGYELEM: A W parancs felülírja a rendszer sávot! Olvassa el a rendszer nyomvonalait és töltse be a RAM -ba, vagy írja vissza őket a lemezre? [R/W]>
Amikor először látja ezt az üzenetet, válassza az R gombot a rendszer sávjainak olvasásához, és ezt fogja kapni:
Olvasás… kész
*** QINSTALL rendszerkép keresése *** A rendszerkép megtalálható 0900H -tól. A QP/M telepítése. A SYSGEN program most folytatódik. Meg kell utasítania a programot, hogy ÍRJA fel a rendszer sávjait. Nyomja meg a folytatáshoz -VAGY -a megszakításhoz -
A folytatáshoz nyomja meg ismét a C gombot:
SYSGENQ - S140918 - Z80 -MBC2
CP/M 2.2 SYSGEN-szerű segédprogram Csak a QP/M 2.71 telepítéséhez használja a QINSTALL. COM használatával FIGYELEM: A W parancs felülírja a rendszer nyomvonalát! Olvassa el a rendszer nyomvonalait és töltse be a RAM -ba, vagy írja vissza őket a lemezre? [R/W]>
Ezúttal nyomja meg a W gombot az új QP/M és BISO visszaírásához a lemez sávjaiba:
Írás… kész
A>
Most megnyomhatja a reset gombot, és újraindíthatja az új QP/M bios -t. Ha most beírja a TIME parancsot, akkor a QP/M teljes verzióját fogja futtatni, és így válaszol:
Z80 -MBC2 - A040618
IOS - I/O alrendszer - S220718 -R240620 IOS: Z80 órajel 8 MHz -re beállítva A CP/M Autoexec ki van kapcsolva IOS: Jelenlegi lemezkészlet (QP/M 2.71) IOS: Betöltési program betöltése (QPMLDR. BIN)… Kész IOS: A Z80 mostantól fut Z80 -MBC2 QP/M 2.71 Hideg betöltő - S160918 Betöltés… kész Z80-MBC2 QP/M 2.71 BIOS egyéni verziója-S150918 A> idő 26-október-20 17:10:56 A>
Ha készen áll az új BIOS használatára, vegye figyelembe a fenti "Egyéni verzió" szöveget. Valószínűleg el kell olvasnia a QP/M dokumentáció többi részét a https://www.microcodeconsulting.com/z80/qpm.htm?fbc… címen.
Uszony
Ajánlott:
Z80-MBC2 Az Atmega32a programozása: 6 lépés
Z80-MBC2 Az Atmega32a programozása: A z80-MBC2 használatba vétele előtt, az elkészítése után, be kell programoznia az Atmeg32 programot. Ezek az utasítások megmutatják, hogyan lehet egy olcsó arduino mini programozóként használni a kód feltöltéséhez
Z80-mbc2 Z80 kódvaku Felhasználói LED: 3 lépés
Z80-mbc2 Z80 Code Flash User LED: Ez egy példa felhasználói LED program, amelyet Z80 assemblerben írtak a z80-mbc2 számítógéphez. Ezt a teszt- és felülvizsgálati gyakorlatot végeztem el nekem, ez az első Z80 programom több mint 35 éve. Élvezze
Z80 MBC2 - A CPM2.2 Bios újrafordítása: 4 lépés
Z80 MBC2 - Fordítsa újra a CPM2.2 Bios -t: Ha hozzám hasonlóan olyan helyzetben találja magát, hogy újra kell fordítania a CP/M bios -t (2.2) az MBC2 -hez - akkor ezt így kell tennie. esetemben el akartam távolítani a „WARM BOOT” üzenetet minden alkalommal, amikor egy program létezett, vagy amikor egy ctrl-c billentyűt csináltál. Én egy
Az ESP32/VGA32 terminál használata Z80-MBC2 esetén: 7 lépés
Az ESP32/VGA32 terminál használata Z80-MBC2 esetén: Az ANSI terminál szoftver felépítése és telepítése ESP32/VGA32 kártyára. Ezután csatlakoztassa a Z80-MBC2 kártyához
Egyszerűen elkészíthető, valódi házi számítógép: Z80-MBC2!: 9 lépés (képekkel)
Könnyen elkészíthető, valódi házi számítógép: Z80-MBC2 !: Ha kíváncsi arra, hogyan működik a számítógép, és hogyan lép kapcsolatba a "külső dolgokkal", manapság sok olyan tábla áll rendelkezésre, amelyek játszhatók, mint az Arduino vagy a Málna és sok más. De ezeknek a tábláknak ugyanaz a "határa" … … sziasztok