Съдържание:

Z80 MBC2 - Прекомпилирайте QP/M Bios и Loader: 6 стъпки
Z80 MBC2 - Прекомпилирайте QP/M Bios и Loader: 6 стъпки

Видео: Z80 MBC2 - Прекомпилирайте QP/M Bios и Loader: 6 стъпки

Видео: Z80 MBC2 - Прекомпилирайте QP/M Bios и Loader: 6 стъпки
Видео: Z80-MBC: 4 ICs Z80 homebrew computer. PCB Version with CP/M 2.2 2024, Юли
Anonim
Z80 MBC2 - Прекомпилирайте QP/M Bios и Loader
Z80 MBC2 - Прекомпилирайте QP/M Bios и Loader

Ако, като мен, се окажете в позиция, в която трябва да прекомпилирате биографията на QP/M за вашия MBC2 - тогава го правите по този начин.

Документирах процеса, как да прекомпилирам съществуващата версия. От вас зависи да направите промени в действителните Bios файлове, ако е необходимо. Направих само промени, за да мога да запазя моята инсталация на QP/M в съответствие с версията на CP/M 2.2 Bios, която използвам (тези промени не са показани само процеса как)

Първата част от процеса е почти идентична с CP/M 2.2 Bios, така че ако вече имате настроен компютър за изграждане, не се колебайте да пропуснете тази част.

Основната разлика е, че QP/M трябва да се зареди от първия запис на зареждащия диск - не.bin файл като CP/M 2.2, описан по -долу.

Консумативи

Windows машина, на която да стартирате компилатора. Използвах виртуална машина на windows xp, работеща на KVM, защото е много малка и никога няма да влезе в интернет. Но работи под Windows 10 напълно добре.

Компилаторът TASM 3.2 z80, потърсете това в google, трябва да завършите на

Копие на SD zip файла от началната страница на z80-mbc2, по време на писането той беше

CPMTools за Windows от https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip това е 32 -битова версия, но работи добре на 64 -битови системи.

Стъпка 1: Добавяне на софтуера към вашия компютър

Добавяне на софтуера към вашия компютър за изграждане
Добавяне на софтуера към вашия компютър за изграждане
Добавяне на софтуера към вашия компютър за изграждане
Добавяне на софтуера към вашия компютър за изграждане

След като стартирате вашата Windows машина, копирайте или изтеглете файловете, споменати в раздела „ще ви трябва“по -горе.

Създайте работна директория на вашата машина, предлагам (за да избегнете много писане и печатни грешки) да създадете директория на устройство C, например c: / z80mbc. Силно препоръчвам да избягвате интервалите в имената, ако е възможно, и дългите пътища на директория. Не го усложнявай.

Създайте папка в тази директория, в която да влизат TASM файловете, c: / z80mbc / tasm

Създайте папка, в която да влезе изображението на SD картата, c: / z90mbc / SD

Щракнете с десния бутон върху всеки от файловете и извлечете съдържанието в директориите, които сте създали по -горе. Така tasm.zip се извлича в c: / z80mbc / tasm и уплашеният zip файл в c: / z80mbc / SD

За да улесните някои от следващите стъпки, можете също да разопаковате cpmtool32.zip в друга директория, например c: / z80mbc / cpmtools.

Стъпка 2: Добавяне на вашите инструменти към пътя на Windows

Добавяне на вашите инструменти към пътя на Windows
Добавяне на вашите инструменти към пътя на Windows
Добавяне на вашите инструменти към пътя на Windows
Добавяне на вашите инструменти към пътя на Windows

В зависимост от вашата версия на Windows направете едно от следните

Windows 10

Отворете менюто със свойства, като щракнете с десния бутон върху елемента „Този компютър“от прозорец на изследовател.

Кликнете върху „Разширени системни настройки“, това ще отвори прозорец, наречен „Свойства на системата“(Можете също да стигнете до системните свойства по други начини, но аз не използвам много прозорци, така че това е моят начин!)

Кликнете върху „Променливи на околната среда“

Уиндоус експи

Щракнете върху бутона за стартиране, щракнете с десния бутон върху „моя компютър“, след което можете да щракнете върху свойства, за да получите „системни свойства“.

Кликнете върху раздела Разширени

Кликнете върху „Променливи на околната среда“

Когато имате прозорец Променливи на околната среда на екрана, трябва да направите две неща;

Добавете нова променлива

В горната част на прозорците под „потребителски променливи за…“

Щракнете върху Ново

За типа Име в TASMTABS

За типа Стойност в c: / z80mbc / tasm

Променете променливата PATH

В долната част на прозореца, под „Системни променливи“

изберете (маркирайте) Път, след което щракнете върху Редактиране

В края на съществуващото съдържание добавете; c: / z80mbc / tasm; c: / z80mbc / cpmtools

(Не забравяйте запетая и запетая в началото!)

Сега трябва да рестартирате компютъра, за да влязат в сила тези допълнения.

Стъпка 3: Тестова задача

Тестова задача
Тестова задача
Тестова задача
Тестова задача
Тестова задача
Тестова задача

За да тестваме, можем да съставим точно копие на съществуващия QP/M BIOS, трябва да направим малко повече подготовка. Файловете в тази директория са:

BIOS QPM271 - S150918.asm - Основният BIOS файл, най -вероятно това е файлът, който ще промените.

QPM271_ColdLoader - S160918.asm - това е QP/M товарач, той чете първите записи от образа на диска в паметта. В по -традиционна система CP/m това би се наричало начална лента и би било в EEPROM или ROM. Не е необходимо да променяте този файл, който вече е компилиран и върху изображението на SD картата като QPMLDR. BIN

SYSGENQ - S140918.asm - Тази програма се използва заедно с инсталатора на QP/M, отново няма да е необходимо да я променяте, тя вече съществува в образа на зареждащия диск, готов за употреба. По същество той чете и записва следите, използвани от студения товарач по -горе.

Преди да тестваме нашата инсталация на TASM, имате нужда от още един файл, cpm22_Z80MBC2.asm, той не е в тази директория по подразбиране, тъй като е същият файл, използван за cpm 2.2. Нуждаем се от този файл, за да предоставим оригиналния CBIOS/CCP за първоначалното зареждане на QP/M. Можете да копирате този файл от директорията CPM_22_Custom_BIOS.

Или използвайте Windows Explorer, за да го копирате, или от командния (CMD) ред

cd c: / z80mbc / sd / src / QPM_271_Custom_BIOS

копие.. / CPM_22_Custom_BIOS / cpm22_Z80MBC2.asm

Сега трябва да промените този файл, за да включите QP/M BIOS, отворете файла с бележник:

потърсете „QPM“(CTRL-F или меню за редактиране и намерете) Вижте горната снимка

променете файла от:

;-----------------------------------------------------------------------

; Z80-MBC2; ---------------------------------------------- -------------------------;#включва "BIOS QPM271-S150918.asm"; Включен CBIOS за Z80-MBC2 #включва "BIOS CPM22-S030818-R140319.asm"; Включен CBIOS за Z80-MBC2

Да се:

;-----------------------------------------------------------------------

; Z80-MBC2; ---------------------------------------------- ------------------------- #включва "BIOS QPM271-S150918.asm"; Включен CBIOS за Z80-MBC2; #include "BIOS CPM22-S030818-R140319.asm"; Включен CBIOS за Z80-MBC2

Трябва също да проверите стойността на iLoadMode в копирания файл cpm22_Z80MBC2.asm, около ред 40:

;-----------------------------------------------------------------------

; Z80-MBC2; ---------------------------------------------- ------------------------- iLoadMode.equ 0; Задайте на 1 за режим iLoad (за тестване),; зададено на 0 за генериране на изображение на писта 0; зададено на 2 за генериране на двоичен файл cpm22.bin; --------------------------------------- --------------------------------

Трябва да е на 0, това е по подразбиране - но все пак проверете!

След като приключите, запишете файла.

вече можете да стартирате tasm:

tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin

Обърнете внимание на различното име на изходния файл, ако всичко върви добре, трябва да видите изход по следния начин:

c: / z80mbc / sd / src / QPM_271_Custom_BIOS> tasm -b -g3 -80 cpm22_Z80MBC2.asm qpm22.bin

Асемблер TASM Z80. Версия 3.2 септември 2001 г. Авторско право (C) 2001 Squak Valley Софтуерна задача: пас 1 завършен. tasm: пас 2 завършен. tasm: Брой грешки = 0 c: / z80mbc / sd / src / QPM_271_Custom_BIOS>

Готови сте да направите всички необходими промени в BIOS! файл.

Стъпка 4: Намерете адреса на часовника си в реално време

Преди да инсталирате новата версия на BIOS, част от инсталацията на QP/M трябва да знае адреса за въвеждане на рутините на часовника в реално време. Ако не зададете това, функциите за време в QP/M ще върнат „No Clock“като съобщение за грешка.

За да получите адреса, редактирайте LST файла, произведен при компилиране на файла qpm22.bin, т.е.

бележник cpm22_Z80MBC2.lst

Потърсете етикета TIMDAT, Ctrl-f (или намерете) потърсете TIMDAT, ще намерите такъв раздел:

0855+ EC16; ================================================== =========================;

0856+ EC16; TIMDAT; 0857+ EC16; ================================================== =========================; 0858+ EC16; Това е специфична рутина за QP/M за интерфейса за часовник QP/M към реално време; 0859+ EC16; за пълно използване на функциите за щамповане на час/дата на QP/M.; 0860+ EC16; Адресът на TIMDAT трябва да бъде посочен по време на QINSTALL чрез опция на; 0861+ EC16; инсталационното меню на QDOS (вижте страници 26-27 от Ръководството за инсталиране на QP/M); 0862+ EC16;; 0863+ EC16; ЗАБЕЛЕЖКА: Ако RTC не присъства, IOS ще даде всички 0 байта. Това е; 0864+ EC16; "интерпретирано" от QP/M като "БЕЗ ЧАСОВНИК".; 0865+ EC16; ================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Запишете HEX адреса на втората колона, в този случай EC16. Извадете стойността от реда под коментарите, точно над инструкцията за прескачане на JP USERCLK. Където пише TIMDAT.

Сега имате долината, можете да излезете от файла и да продължите с QP/M intsall

Стъпка 5: Добавете Bios към нов образ на диска

В тази стъпка ще направим собствено копие на зареждащия диск DS1N00. DSK и ще добавим към него своя собствена версия на BIOS, готова да завърши инсталирането на QP/M

За да започнете, направете временна папка на устройство C, за да запазите работните си копия. Отворете CMD подкана и въведете следното

cd c: / z80mbc

mkdir temp cd temp

След това копирайте оригиналния образ на диска от директорията SD

копирайте c: / z80mbc / sd / DS1N00. DSK.

Вземете текущите файлове от изображението на диска:

cd c: / z80mbc / temp cpmcp -f z80mbc2 -d0 DS1N00. DSK 0:* диск0

Горната последователност ще създаде друга временна папка в временната директория, наречена disk0, те ще копират всички съществуващи файлове от изображението на диска в директорията. Използвайте DIR след, за да се уверите, че имате файловете.

След това можем да форматираме образа на диска като нов диск, това е единственият лесен начин да добавим зареждащите записи към образа на диска, без да се налага да създавате цял нов диск от нулата. Обърнете внимание, че опцията „-b“използва BIOS, който сме съставили по-горе.

mkfs.cpm -f z80mbc2 -d0 -b c: / z80mbc / sd / src / QPM_271_Custom_BIOS / qpm22.bin DS1N00. DSK

Сега зареждащите записи са актуализирани, можете да добавите оригиналните файлове обратно към изображението:

cpmcp -f z80mbc2 -d0 DS1N00. DSK диск0/* 0:

Вече имате стартиращ диск, той всъщност ще стартира CP/M, а не QP/M в следващата стъпка, която използваме инсталатора QP/M, за да заменим CBIOS частта на системата CP/M

Уверете се, че имате работно копие на зареждащата SD карта, след което копирайте файла DS1N00. DSK, който създавате в тази стъпка, в основната папка на SD картата, той ще замени съществуващия файл.

Стъпка 6: Стартирайте във вашия нов образ на диска

Свържете сериен терминал към z80mbc2

задръжте потребителския превключвател, задръжте го, натиснете и освободете превключвателя за нулиране. Когато потребителският светодиод изгасне и светкавицата на IOS мига, освободете потребителския превключвател.

Сега трябва да сте на екрана "Boot" на терминала, като този: Z80 -MBC2 - A040618

IOS - I/O подсистема - S220718 -R240620 IOS: Z80 часовник настроен на 8MHz IOS: Намерен RTC DS3231 модул (26/10/20 16:46:45) IOS: RTC DS3231 температурен сензор: 20C IOS: Намерен GPE Опция IOS: CP/M Autoexec е ИЗКЛЮЧЕН IOS: Изберете режим на зареждане или системни параметри: 0: Без промяна (3) 1: Основни 2: На четвърто място: Заредете OS от Disk Set 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Промяна на тактовата честота на Z80 (-> 4MHz) 7: Превключване на CP/M Autoexec (-> ВКЛ.) 8: Промяна на набор от дискове 1 (QP/M 2.71) 9: Промяна на времето/датата на RTC Въведете вашия избор>

Използвайте Опция 8, за да промените дисковия набор на QP/M. Когато го изберете, трябва да заредите вашия QP/M BIOS. Бих препоръчал и натискане на нулиране, тъй като видях първото зареждане след неуспех на опция 8 няколко пъти. Като този:

IOS: Текущ набор от дискове 1 (QP/M 2.71)

IOS: Зарежда се зареждаща програма (QPMLDR. BIN)… Готово IOS: Z80 работи от сега Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Зарежда се … направено Персонализирана версия на Z80 -MBC2 QP/M 2.71 BIOS - S150918 A>

Забележка: Добавих „Персонализирана версия“по -горе, когато редактирах BIOS файла, точно като демонстрация за тази стъпка.

В този момент всъщност използвате CP/M 2.2 Cbios с персонализирания BIOS за QP/M, така че неща като командата TIME не работят, например ако въведете TIME (трябва да отговорите с дата+час), ще получите CP/M 2.2 отговор на TIME? - смята, че това е команда на диска и не може да я намери.

Време е да инсталирате QP/M заместващия CBIOS върху образа на диска.

Стартирайте програмата qinstall.com:

A> qinstall

QP/M 2.7 Програма за инсталиране/конфигуриране v2.1 QINSTALL използва вашата програма SYSGEN, за да инсталира QP/M на вашия диск. След като конфигурирате вашата система, ще бъдете подканени за името на вашата програма SYSGEN. Тази помощна програма трябва да е налична на един от вашите дискове. За да завърши успешно QINSTALL, системният образ на диска и системата в момента в паметта ТРЯБВА да бъдат идентични. (Използвайте за прекъсване на програмата.) Искате ли да продължите? (Д/Н):

След това отговорете с Y, за да продължите.

След това ще бъдете попитани за настройките на QCP (можете да играете по -късно!) Засега кажете N

Искате ли да разгледате и/или промените

настройките за QCP по подразбиране? (Д/Н): Н

След това ще бъдете попитани за настройките на QDOS, натиснете Y

Искате ли да разгледате или промените

настройките по подразбиране за QDOS? (Д/Н): Д

Ще имате такова меню:

*** Настройки за инсталиране на система QDOS ***

Запазване на символ, получен по време на конзолно сканиране. ДА BIOS поддържа таблица с кодове за грешки на BDOS ………. НЕ Адрес на вектора за скок на дата/дата …………. ИЗКЛЮЧЕНО устройство за търсене/потребителско търсене ……………….. Активирано Автоматично повторно регистриране на диска …………………… ENABLED Възстановяване на първоначалните настройки Излезте от инсталацията на QDOS Въведете опция:

В този момент трябва да въведете HEX номера от стъпка 4 по -горе (намерете адреса на часовника си в реално време)

Натиснете 2 и въведете HEX адреса EC16, ако не сте направили промени в биоса, в моя случай това е EC04, тъй като добавих текст и т.н.

Въведете адреса на вектора на час/дата в шестнадесетичен (0 до DISABLE): EC04

Сега можете да излезете от менюто QDOS и да продължите.

Следващият екран показва:

Въведете името на вашата програма SYSGEN и натиснете RETURN.

(Посочете устройство, ако е необходимо; не използвайте. COM разширение): SYSGENQ

Въведете специалната версия на sysgen, наречена SYSGENQ

След това ще видите:

*** Създаване на 59k QP/M изображение ***

QINSTALL сега ще изпълни A: SYSGENQ. COM. Трябва да инструктирате A: SYSGENQ. COM да чете системните записи. Когато READ приключи, излезте от програмата SYSGEN. Ще се появи съобщението „*** QINSTALL търси системно изображение ***“, последвано от допълнителни инструкции. Натиснете, за да продължите -ИЛИ- за прекъсване -

Натиснете C, за да продължите:

SYSGENQ - S140918 - Z80 -MBC2

CP/M 2.2 Подобна на SYSGEN помощна програма Използвайте само за инсталиране на QP/M 2.71 с помощта на QINSTALL. COM ПРЕДУПРЕЖДЕНИЕ: Командата W ще презапише системния запис! Прочетете системните записи и заредете в RAM или ги запишете обратно на диск? [R/W]>

Първият път, когато видите това съобщение, изберете R, за да прочетете системните записи, след това ще получите:

Четене … свършено

*** QINSTALL търси системно изображение *** Системното изображение е намерено от 09:00 часа. Инсталиране на QP/M. Сега вашата програма SYSGEN ще възобнови изпълнението. Трябва да инструктирате програмата да НАПИСВА системните записи. Натиснете, за да продължите -ИЛИ- за прекъсване -

Натиснете отново C, за да продължите:

SYSGENQ - S140918 - Z80 -MBC2

CP/M 2.2 Подобна на SYSGEN помощна програма Използвайте само за инсталиране на QP/M 2.71 с помощта на QINSTALL. COM ПРЕДУПРЕЖДЕНИЕ: Командата W ще презапише системния запис! Прочетете системните записи и заредете в RAM или ги запишете обратно на диск? [R/W]>

Този път натиснете W, за да запишете новите QP/M и BISO обратно в дисковите записи:

Писане … свършено

A>

Вече можете да натиснете нулиране и да се заредите отново в новия си QP/M bios. Ако сега въведете TIME в подканата, той ще изпълнява пълната версия на QP/M и ще отговори така:

Z80 -MBC2 - A040618

IOS - I/O подсистема - S220718 -R240620 IOS: Z80 часовник настроен на 8MHz IOS: Намерен RTC DS3231 модул (26/10/20 17:10:48) IOS: RTC DS3231 температурен сензор: 20C IOS: Намерен GPE Опция IOS: CP/M Autoexec е ИЗКЛЮЧЕН IOS: Текущ набор от дискове 1 (QP/M 2.71) IOS: Зарежда се зареждаща програма (QPMLDR. BIN) … Готово IOS: Z80 работи от сега Z80 -MBC2 QP/M 2.71 Cold Loader - S160918 Зарежда се … направено Персонализирана версия на Z80-MBC2 QP/M 2.71 BIOS-S150918 A> време 26-окт-20 17:10:56 A>

Работите с новия BIOS, обърнете внимание на текста „Персонализирана версия“по -горе. Вероятно трябва да прочетете останалата част от документацията за QP/M на

Фин

Препоръчано: