Восстановление порта all_mode и позиции экрана после перезаливки конфы (потом это надо будет перенести в BIOS).

This commit is contained in:
Tolik Trek committed 2026-09-27 00:31:46 +10:00
1 parent 5c7b414fda
commit 764cbbf9d6
3 files changed
+44 -82

No files matched your search

+43 -6
View File
@@ -150,11 +150,17 @@ START:
;-----------------; ¥á«¨ ­®à¬. § ¢¥à襭¨¥ Load_conf
1:
LD BC,Port_All_Mode
IN A,(C)
LD (Reload_proc.allMode),A
;
LD A,(ram_blk_id)
LD B,A ; RAM Block ID á ¡¨âáâਬ®¬ ¤«ï § £à㧪¨
LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow ; ¯¥à¥§ «¨¢ª  ª®­äë á ¢®§¢à â®¬
LD C,BIOS.RST_CONF.CUSTOM
RST ToBIOS
CALL Reload_proc ; ¯¥à¥§ «¨¢ª  ª®­äë á ¢®§¢à â®¬
;
;LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow
;LD C,BIOS.RST_CONF.CUSTOM
;RST ToBIOS
;JR ReloadRET
;-----------------;
;
@@ -194,9 +200,11 @@ ReloadRET: DI
JR NZ,NextReloadRET
;
LD B,0 ; § £à㧪  ¡¨âáâਬ  ¨§ ROM
LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow ; ¯¥à¥§ «¨¢ª  ª®­äë á ¢®§¢à â®¬
LD C,BIOS.RST_CONF.CUSTOM
RST ToBIOS
CALL Reload_proc ; ¯¥à¥§ «¨¢ª  ª®­äë á ¢®§¢à â®¬
;LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow
;LD C,BIOS.RST_CONF.CUSTOM
;RST ToBIOS
;JP NextReloadRET
;*******************************************************
@@ -291,6 +299,35 @@ Exit: PUSH BC
RST ToDSS
JR .loop_exit
;-----------------;
;*******************************************************
Reload_proc: LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow ; ¯¥à¥§ «¨¢ª  ª®­äë á ¢®§¢à â®¬
LD C,BIOS.RST_CONF.CUSTOM
RST ToBIOS
;
.allMode+*: LD A,#FF
LD BC,Port_All_Mode
OUT (C),A
; restore HOLD port ; !FIXIT ᤥ« âì ¯à®æ¥¤ãன ¡¨®á , ª®£¤  ®­  ¯®ï¢¨âáï
LD D,CMOS_CELL.ScreenPosition
LD C,BIOS.CMOS_RD
RST ToBIOS
RET C
;
LD B,A
LD A,ACEX.HOLD
LD C,BIOS.SET_PORTS
RST ToBIOS
RET
;
;-----------------;
;*******************************************************
; ____ _ _
-75
View File
@@ -1,75 +0,0 @@
загрузка в 0C000h по 16384 (4000h)
0: 1
hl 4100h
de 1000h
bc 3000h
1: 1
hl 7100h
de 0000h
bc 0f00h
1: 2
hl 4000h
de 0f00h
bc 3100h
2: 2
hl 7100h
de 0000h
bc 0f00h
2: 3
hl 4000h
de 0f00h
bc 3100h
3: 3
hl 7100h
de 0000h
bc 0f00h
3: 4
hl 4000h
de 0f00h
bc 3100h
3: exe
hl строка
de 3EF0
bc 16
итого загружается 0F000h (61440)
в странице см. в стр. КЭШ размер смещение в файле
4100-70FF, 1x0100-30FF 0x1000-3FFF 3000 0100-30FF
7100-7fff, 1x3100-3FFF 1x0000-0EFF 0F00 3100-3FFF
4000-70FF, 2x0000-30FF 1x0F00-3FFF 3100 4000-70FF
7100-7FFF, 2x3100-3FFF 2x0000-0EFF 0F00 7100-7FFF
4000-30FF, 3x0000-30FF 2x0F00-3FFF 3100 8000-B0FF
7100-7FFF, 3x3100-3FFF 3x0000-0EFF 0F00 B100-BFFF
4000-70FF, 4x0000-30FF 3x0F00-3FFF 3100 C000-F0FF (EFDF)
3x3EE0-3EE0 0001 FF - одна перезагрузка
XXXX-XX16. XxXXXX-XX16 3x3EF0-3EFF 0010 Acex_Loading
0 0100-30FF 3000
1 3100-70FF 4000
2 7100-B0FF 4000
3 B100-
кэш
0000 - 1000 - пусто
1000 - E74F - конфа
3000 1 блок
4000 2 блок
4000 3 блок
374f 4 блок
грузим в 1 страницу 3000h байт с адреса С000 или D000
грузим во 2 страницу 4000h байт
грузим в 3 страницу 4000h байт
Грузим в 4 страницу 374Fh байт и втыкаем в неё все переменные типа Acex_Loading