Daftar Isi:

Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M: 6 Langkah
Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M: 6 Langkah

Video: Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M: 6 Langkah

Video: Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M: 6 Langkah
Video: Z80-MBC2: Z80 homebrew computer playing Startrek with CP/M 2024, November
Anonim
Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M
Z80 MBC2 - Kompilasi Ulang Bios dan Loader QP/M

Jika, seperti saya, Anda menemukan diri Anda dalam posisi di mana Anda perlu mengkompilasi ulang bios QP/M untuk MBC2 Anda - maka inilah cara Anda melakukannya.

Saya mendokumentasikan proses, cara mengkompilasi ulang versi yang ada. Terserah Anda untuk membuat perubahan pada file Bios yang sebenarnya, jika perlu. Saya hanya melakukan perubahan agar instalasi QP/M saya tetap sesuai dengan versi CP/M 2.2 Bios yang saya gunakan (perubahan ini tidak ditampilkan hanya proses caranya)

Bagian pertama dari proses ini hampir identik dengan CP/M 2.2 Bios, jadi jika Anda sudah menyiapkan komputer build, silakan lewati bagian itu.

Perbedaan utama adalah bahwa QP/M harus memuat dari track pertama disk boot - bukan file.bin seperti CP/M 2.2, yang dijelaskan di bawah.

Perlengkapan

Mesin windows untuk menjalankan kompiler. Saya menggunakan mesin virtual windows xp yang berjalan di KVM, karena sangat kecil dan tidak akan pernah terhubung ke internet. Tapi itu bekerja di bawah windows 10 dengan sangat baik.

Kompiler TASM 3.2 z80, cari ini di google, Anda harus berakhir di

Salinan file zip SD dari halaman beranda z80-mbc2, pada saat penulisan ini adalah

CPMTools untuk windows dari https://www.cpm8680.com/cpmtools/cpmtoolsWin32.zip ini adalah versi 32bit tetapi berfungsi dengan baik pada sistem 64bit.

Langkah 1: Menambahkan Perangkat Lunak ke Komputer Bangun Anda

Menambahkan Perangkat Lunak ke Komputer Bangun Anda
Menambahkan Perangkat Lunak ke Komputer Bangun Anda
Menambahkan Perangkat Lunak ke Komputer Build Anda
Menambahkan Perangkat Lunak ke Komputer Build Anda

Setelah Anda menjalankan dan menjalankan mesin windows, salin atau unduh file yang disebutkan di bagian "yang Anda perlukan" di atas.

Buat direktori kerja di mesin Anda, saya sarankan (untuk menghindari banyak pengetikan dan kesalahan ketik) Anda membuat direktori di drive C, misalnya c:\z80mbc. Saya sangat menyarankan Anda menghindari spasi dalam nama, jika mungkin dan jalur direktori yang panjang. Tetap sederhana.

Buat folder di dalam direktori ini untuk memasukkan file TASM, c:\z80mbc\tasm

Buat folder untuk memasukkan gambar kartu SD, c:\z90mbc\SD

Klik kanan pada masing-masing file dan ekstrak isinya ke direktori yang Anda buat di atas. Jadi tasm.zip diekstrak ke c:\z80mbc\tasm dan file zip yang ditakuti ke c:\z80mbc\SD

Untuk mempermudah beberapa langkah selanjutnya, Anda juga dapat membongkar cpmtool32.zip ke direktori lain, misalnya c:\z80mbc\cpmtools.

Langkah 2: Menambahkan Alat Anda ke Windows Path

Menambahkan Alat Anda ke Windows Path
Menambahkan Alat Anda ke Windows Path
Menambahkan Alat Anda ke Windows Path
Menambahkan Alat Anda ke Windows Path

Bergantung pada versi windows Anda, lakukan salah satu hal berikut:

Windows 10

Buka menu properti dengan mengklik kanan pada item "PC ini" dari jendela penjelajah.

Klik "Pengaturan sistem lanjutan", ini akan membuka jendela yang disebut "Properti Sistem" (Anda juga dapat membuka properti sistem dengan cara lain, tetapi saya tidak terlalu sering menggunakan windows jadi ini cara saya!)

Klik pada "Variabel Lingkungan"

Windows XP

Klik tombol mulai, klik kanan pada "komputer saya", kemudian Anda dapat mengklik properti untuk mendapatkan "properti sistem".

Klik pada Tab Lanjut

Klik pada "Variabel Lingkungan"

Ketika Anda memiliki jendela Variabel Lingkungan di layar, Anda perlu melakukan dua hal;

Tambahkan variabel baru

Di bagian atas jendela, di bawah "variabel pengguna untuk …"

Klik Baru

Untuk jenis Nama di TASMTABS

Untuk jenis Nilai di c:\z80mbc\tasm

Ubah variabel PATH

Di bagian bawah jendela, di bawah "Variabel Sistem"

pilih (sorot) Path, lalu klik Edit

Di akhir konten yang ada tambahkan;c:\z80mbc\tasm;c:\z80mbc\cpmtools

(Jangan lupa titik koma di awal!)

Anda sekarang perlu me-restart komputer agar penambahan ini berlaku.

Langkah 3: Menguji Tasm

Menguji Tasm
Menguji Tasm
Menguji Tasm
Menguji Tasm
Menguji Tasm
Menguji Tasm

Untuk menguji kami dapat mengkompilasi salinan persis dari BIOS QP/M yang ada, kami harus melakukan sedikit persiapan lagi. File-file dalam direktori ini adalah:

BIOS QPM271 - S150918.asm - File BIOS utama, ini kemungkinan besar file yang akan Anda ubah.

QPM271_ColdLoader - S160918.asm - ini adalah QP/M loader, ia membaca trek pertama dari gambar disk ke dalam memori. Dalam sistem CP/m yang lebih tradisional ini akan disebut sebagai bootstrap dan akan berada di EEPROM atau ROM. Anda tidak perlu memodifikasi file ini yang sudah dikompilasi dan pada gambar kartu SD sebagai QPMLDR. BIN

SYSGENQ - S140918.asm - Program ini digunakan bersama dengan installer QP/M, sekali lagi Anda biasanya tidak perlu mengubahnya, program ini sudah ada di image boot disk yang siap digunakan. Ini pada dasarnya membaca dan menulis trek yang digunakan oleh pemuat dingin di atas.

Sebelum kami menguji instalasi TASM kami, Anda memerlukan satu file lagi, cpm22_Z80MBC2.asm, tidak ada di direktori ini secara default karena ini adalah file yang sama yang digunakan untuk cpm 2.2. Kami membutuhkan file ini untuk menyediakan CBIOS/CCP asli untuk boot awal QP/M. Anda dapat menyalin file ini dari direktori CPM_22_Custom_BIOS.

Baik menggunakan windows explorer untuk menyalinnya atau dari prompt perintah (CMD) lakukan

cd c:\z80mbc\sd\src\QPM_271_Custom_BIOS

salin..\CPM_22_Custom_BIOS\cpm22_Z80MBC2.asm

Anda sekarang perlu mengubah file ini untuk memasukkan QP/M BIOS, buka file dengan notepad:

cari "QPM" (CTRL-F, atau edit menu dan temukan) Lihat gambar di atas

ubah file dari:

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

; Z80-MBC2;--------------------------------------------------------- -------------------------;#include "BIOS QPM271 - S150918.asm"; Termasuk CBIOS untuk Z80-MBC2 #include "BIOS CPM22 - S030818-R140319.asm"; Termasuk CBIOS untuk Z80-MBC2

Ke:

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

; Z80-MBC2;--------------------------------------------------------- ------------------------- #include "BIOS QPM271 - S150918.asm"; Termasuk CBIOS untuk Z80-MBC2;#include "BIOS CPM22 - S030818-R140319.asm"; Termasuk CBIOS untuk Z80-MBC2

Anda juga harus memeriksa nilai iLoadMode di file cpm22_Z80MBC2.asm yang disalin, sekitar baris 40:

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

; Z80-MBC2;--------------------------------------------------------- ------------------------- iLoadMode.equ 0; Atur ke 1 untuk mode iLoad (untuk pengujian),; atur ke 0 untuk pembuatan gambar trek 0,; set ke 2 untuk pembuatan file biner cpm22.bin;--------------------------------------- --------------------------------

Itu harus pada 0, ini adalah default - tetapi tetap periksa!

Setelah selesai, simpan file tersebut.

Anda sekarang dapat menjalankan tasm:

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

Perhatikan nama file keluaran yang berbeda, jika semuanya berjalan dengan baik, Anda akan melihat keluaran seperti ini:

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

Perakitan TASM Z80. Versi 3.2 September 2001. Hak Cipta (C) 2001 Squak Valley Software tasm: lulus 1 selesai. tasm: lulus 2 selesai. tasm: Jumlah kesalahan = 0 c:\z80mbc\sd\src\QPM_271_Custom_BIOS>

Anda siap untuk membuat perubahan apa pun yang Anda perlukan pada BIOS! mengajukan.

Langkah 4: Temukan Alamat Jam Waktu Nyata Anda

Sebelum Anda menginstal BIOS versi baru, bagian dari instalasi QP/M perlu mengetahui alamat entri untuk rutinitas jam waktu nyata. Jika Anda tidak menyetel ini, fungsi waktu di QP/M akan mengembalikan "Tidak Ada Jam" sebagai pesan kesalahan.

Untuk mendapatkan alamatnya, edit file LST yang dihasilkan saat Anda mengkompilasi file qpm22.bin, mis.

notepad cpm22_Z80MBC2.lst

Cari label TIMDAT, Ctrl-f (atau cari) cari TIMDAT, Anda akan menemukan bagian seperti ini:

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

0856+ EC16; TIMDAT; 0857+ EC16; ================================================== =========================; 0858+ EC16; Ini adalah rutinitas khusus QP/M untuk antarmuka QP/M-ke-waktu-nyata; 0859+ EC16; untuk sepenuhnya memanfaatkan fitur cap waktu/tanggal dari QP/M.; 0860+ EC16; Alamat TIMDAT harus ditentukan selama QINSTALL melalui opsi; 0861+ EC16; menu instalasi QDOS (lihat halaman 26-27 dari Panduan Instalasi QP/M); 0862+ EC16;; 0863+ EC16; CATATAN: Jika RTC tidak ada, IOS akan memberikan semua byte 0s. Ini adalah; 0864+ EC16; "ditafsirkan" oleh QP/M sebagai "TIDAK ADA JAM".; 0865+ EC16; ================================================== =========================; 0866+ EC16 TIMDAT 0867+ EC16 C3 19 EC jp USERCLK

Catat alamat HEX kolom kedua, dalam hal ini EC16. Hapus nilai dari baris di bawah komentar, tepat di atas instruksi lompat JP USERCLK. Dimana tertulis TIMDAT.

Sekarang Anda memiliki vale, Anda dapat keluar dari file dan melanjutkan dengan QP/M intsall

Langkah 5: Tambahkan Bios ke Disk Image Baru

Pada langkah ini kita akan membuat salinan boot disk DS1N00. DSK kita sendiri dan menambahkan versi BIOS kita sendiri ke dalamnya siap untuk menyelesaikan instalasi QP/M

Untuk memulai dengan membuat folder temp dari drive C untuk menyimpan copy pekerjaan Anda. Buka prompt CMD dan ketik berikut:

cd c:\z80mbc

mkdir temp cd temp

Selanjutnya salin gambar disk asli dari direktori SD

salin c:\z80mbc\sd\DS1N00. DSK.

Dapatkan file saat ini dari gambar disk:

cd c:\z80mbc\temp cpmcp -f z80mbc2-d0 DS1N00. DSK 0:* disk0

Urutan di atas akan membuat folder sementara lain di dalam direktori temp bernama disk0, mereka menyalin semua file yang ada dari gambar disk ke dalam direktori. Gunakan DIR setelahnya untuk memastikan Anda memiliki file.

Selanjutnya kita dapat memformat disk image sebagai disk baru, ini adalah satu-satunya cara mudah untuk menambahkan boot track ke disk image, tanpa harus membuat disk baru dari awal. Perhatikan opsi "-b" menggunakan BIOS yang kami kompilasi di atas.

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

Sekarang trek boot diperbarui, Anda dapat menambahkan file asli kembali ke gambar:

cpmcp -f z80mbc2-d0 DS1N00. DSK disk0/* 0:

Anda sekarang memiliki disk yang dapat di-boot, itu sebenarnya akan mem-boot CP/M bukan QP/M pada langkah selanjutnya kami menggunakan penginstal QP/M untuk mengganti bagian CBIOS dari sistem CP/M

Pastikan Anda memiliki salinan yang berfungsi dari kartu SD boot Anda, lalu salin file DS1N00. DSK yang Anda buat pada langkah ini ke folder root kartu SD itu akan menggantikan file yang ada.

Langkah 6: Boot Ke Gambar Disk Baru Anda

Hubungkan terminal serial ke z80mbc2

tahan sakelar pengguna, tahan, tekan dan lepaskan sakelar setel ulang. Saat LED pengguna padam dan lampu IOS berkedip, lepaskan sakelar pengguna.

Anda sekarang harus berada di layar "Boot" di terminal, seperti ini: Z80-MBC2 - A040618

IOS - Subsistem I/O - S220718-R240620 IOS: Jam Z80 diatur pada 8MHz IOS: Ditemukan RTC DS3231 Module (26/10/20 16:46:45) IOS: RTC DS3231 sensor suhu: 20C IOS: Ditemukan Opsi GPE IOS: CP/M Autoexec OFF IOS: Pilih mode boot atau parameter sistem: 0: Tidak ada perubahan (3) 1: Dasar 2: Keempat 3: Muat OS dari Disk Set 1 (QP/M 2.71) 4: Autoboot 5: iLoad 6: Ubah kecepatan clock Z80 (->4MHz) 7: Toggle CP/M Autoexec (->ON) 8: Ubah Disk Set 1 (QP/M 2.71) 9: Ubah waktu/tanggal RTC Masukkan pilihan Anda >

Gunakan Opsi 8 untuk mengubah set disk ke QP/M, Ketika Anda memilihnya, Anda harus memuat BIOS QP/M Anda. Saya juga merekomendasikan menekan reset, karena saya telah melihat pemuatan pertama setelah opsi 8 gagal beberapa kali. Seperti ini:

IOS: Set Disk Saat Ini 1 (QP/M 2.71)

IOS: Memuat program boot (QPMLDR. BIN)… Selesai IOS: Z80 sedang berjalan mulai sekarang Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Memuat… selesai Versi Kustom Z80-MBC2 QP/M 2.71 BIOS - S150918 A>

Catatan Saya menambahkan "Versi Kustom" di atas ketika saya mengedit File BIOS, hanya sebagai demo untuk langkah ini.

Pada titik ini Anda benar-benar menjalankan CP/M 2.2 Cbios dengan BIOS khusus untuk QP/M, jadi hal-hal seperti perintah TIME tidak berfungsi, misalnya jika Anda mengetik TIME (harus merespons dengan tanggal+waktu) Anda akan mendapatkan CP/M 2.2 tanggapan WAKTU? - ia mengira itu adalah perintah pada disk dan tidak dapat menemukannya.

Sekarang saatnya untuk menginstal CBIOS pengganti QP/M ke disk image.

Jalankan program qinstall.com:

A>qinstall

QP/M 2.7 Program Instalasi/Konfigurasi v2.1 QINSTALL menggunakan program SYSGEN Anda untuk menginstal QP/M ke disk Anda. Setelah mengkonfigurasi sistem Anda, Anda akan diminta untuk nama program SYSGEN Anda. Utilitas ini harus tersedia di salah satu disk Anda. Agar QINSTALL berhasil diselesaikan, citra sistem pada disk dan sistem yang saat ini ada di memori HARUS identik. (Gunakan untuk membatalkan program.) Apakah Anda ingin melanjutkan? (Y/T):

Kemudian jawab Y untuk melanjutkan.

Anda akan ditanya selanjutnya tentang Pengaturan QCP (Anda dapat bermain nanti!) untuk saat ini katakan N

Apakah Anda ingin memeriksa dan/atau memodifikasi

pengaturan QCP default? (Y/T):T

Selanjutnya Anda akan ditanya tentang Pengaturan QDOS, tekan Y

Apakah Anda ingin memeriksa atau memodifikasi

pengaturan QDOS default? (Y/T): Y

Anda akan memiliki menu seperti ini:

*** Pengaturan Instalasi Sistem QDOS ***

Simpan karakter yang diperoleh selama pemindaian konsol.. YA BIOS mendukung tabel kode kesalahan BDOS ………. NO Alamat vektor lompatan waktu/tanggal ………. DINONAKTIFKAN Fitur pencarian drive/pengguna ……………….. DIAKTIFKAN Log ulang disk otomatis …………………… DIAKTIFKAN Mengembalikan pengaturan awal Keluar dari instalasi QDOS Masuk opsi:

Pada titik ini Anda harus memasukkan nomor HEX dari Langkah 4 di atas (temukan alamat jam waktu nyata Anda)

Tekan 2, dan masukkan alamat HEX EC16, jika Anda tidak membuat perubahan pada bios, dalam kasus saya ini EC04 karena saya menambahkan beberapa teks dll.

Masukkan alamat vektor waktu/tanggal dalam hex (0 hingga DINONAKTIFKAN): EC04

Sekarang Anda dapat keluar dari menu QDOS dan melanjutkan.

Layar berikutnya menunjukkan:

Masukkan nama program SYSGEN Anda dan tekan RETURN.

(Tentukan drive jika perlu; jangan gunakan ekstensi. COM):SYSGENQ

Masukkan versi khusus sysgen, yang disebut SYSGENQ

Anda kemudian akan melihat:

*** Membuat gambar 59k QP/M ***

QINSTALL sekarang akan menjalankan A:SYSGENQ. COM. Anda harus menginstruksikan A:SYSGENQ. COM untuk membaca trek sistem. Ketika READ selesai, keluar dari program SYSGEN. Pesan "*** QINSTALL mencari gambar sistem ***" akan muncul diikuti dengan instruksi lebih lanjut. Tekan untuk melanjutkan -ATAU- untuk membatalkan --

Tekan C untuk melanjutkan:

SYSGENQ - S140918 - Z80-MBC2

CP/M 2.2 Utilitas seperti SYSGEN Gunakan hanya untuk menginstal QP/M 2.71 menggunakan QINSTALL. COM PERINGATAN: Perintah W akan menimpa track sistem! Baca trek sistem dan muat ke RAM atau tulis kembali ke disk? [B/B] >

Pertama kali Anda melihat pesan ini, pilih R untuk membaca trek sistem, Anda akan mendapatkan:

Membaca… selesai

*** QINSTALL mencari gambar sistem *** Gambar sistem ditemukan mulai pukul 0900 H. Menginstal QP/M. Program SYSGEN Anda sekarang akan melanjutkan eksekusi. Anda harus menginstruksikan program untuk MENULIS trek sistem. Tekan untuk melanjutkan -ATAU- untuk membatalkan --

Sekali lagi tekan C untuk melanjutkan:

SYSGENQ - S140918 - Z80-MBC2

CP/M 2.2 Utilitas seperti SYSGEN Gunakan hanya untuk menginstal QP/M 2.71 menggunakan QINSTALL. COM PERINGATAN: Perintah W akan menimpa track sistem! Baca trek sistem dan muat ke RAM atau tulis kembali ke disk? [B/B] >

Kali ini tekan W untuk menulis QP/M dan BISO baru kembali ke trek disk:

Menulis… selesai

A>

Anda sekarang dapat menekan reset dan boot kembali ke bios QP/M baru Anda. Jika Anda sekarang mengetik TIME pada prompt, itu akan menjalankan versi lengkap QP/M dan akan merespons seperti ini:

Z80-MBC2 - A040618

IOS - Subsistem I/O - S220718-R240620 IOS: Jam Z80 diatur pada 8MHz IOS: Ditemukan RTC DS3231 Module (26/10/20 17:10:48) IOS: RTC DS3231 sensor suhu: 20C IOS: Ditemukan Opsi GPE IOS: CP/M Autoexec OFF IOS: Set Disk Saat Ini 1 (QP/M 2.71) IOS: Memuat program boot (QPMLDR. BIN)… Selesai IOS: Z80 berjalan mulai sekarang Z80-MBC2 QP/M 2.71 Cold Loader - S160918 Memuat… selesai Versi Kustom Z80-MBC2 QP/M 2.71 BIOS - S150918 A>waktu 26-Okt-20 17:10:56 A>

Anda aktif dan berjalan dengan BIOS baru, perhatikan teks "Versi Kustom" di atas. Anda mungkin harus membaca dokumentasi QP/M lainnya di

Sirip

Direkomendasikan: