1
0
mirror of synced 2026-02-01 14:32:46 +00:00

Many fixes and improvements to the BIOS Extension ROM. (#33)

* Revert "Uploaded_2_9_2025"

This reverts commit ec79bbdbc9.

* Fixing DEBUG_IO builds.

* Make the IO port base a define.

* Fix CPU test to properly handle 808x vs V20.

* Improve timeout management logic.

* Improve SD Card initialization logic.

* Implement INT18h bootstrapping.

* Implementing a different test for processor type.

* Allow use with another fixed drive (eg: ESDI drive).

* Allow swapping driver ID between the BIOS disk and XTMax.

* Fix address of the ROM segment.

* Fixing missing STI at the top of the handler.

* Major rework of IO to use MOVSW.

* More code reorg and auto-detecting second drive.

* Update XTSD to use MOVSW.

* Add diagnostics program.

* Workaround for MS-DOS strange handling of interrupts.

* Use a lookup table for the memory map.

* Make the BootROM relocatable.

* Some more refactor of the Teensy code.
This commit is contained in:
Matthieu Bucchianeri
2025-02-17 15:11:37 -08:00
committed by GitHub
parent ec79bbdbc9
commit fe8385da08
15 changed files with 1199 additions and 456 deletions

View File

@@ -8,6 +8,7 @@
xor ax, ax
lahf
sti
mov ax, 0x1122
mov bx, 0x3344
mov cx, 0x5566
@@ -114,6 +115,8 @@ do_int13h:
; dump registers
%ifdef DUMP_REGS
popf
pushf
call dump_regs
pop ax
call print_hex
@@ -145,6 +148,11 @@ fake_int13h_entry:
mov al, ah
xor ah, ah
call print_hex
mov ax, drive_msg
call print_string
mov ax, dx
xor ah, ah
call print_hex
mov ax, newline
call print_string
pop ax
@@ -162,6 +170,7 @@ buf_write db 1, 2, 3, 4, 5, 6, 7, 8
buf_read times 1024 db 0
fake_handler_msg db 'BIOS INT13h Function ', 0
drive_msg db ' Drive ', 0
test_success_msg db 'Call succeeded ', 0
test_failed_msg db 'Call failed ', 0