some tests with 5x
This commit is contained in:
parent
0b627948aa
commit
dc8f5f37ac
@ -1 +1 @@
|
||||
Subproject commit 95c15f46dcd79b9ea7f60eca0011152305fbc366
|
||||
Subproject commit 81f727ca6ecd8fcaaac4f4e573fe1fd6578c1efa
|
||||
3
src/altera/acex/k30/.vscode/settings.json
vendored
Normal file
3
src/altera/acex/k30/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"search.useIgnoreFiles": false
|
||||
}
|
||||
@ -32,20 +32,9 @@
|
||||
ENDM
|
||||
;[--------------------------------------------------------------------------]
|
||||
|
||||
IF BIOS_ZXMODE
|
||||
DEFINE SP_128_BIN INCBIN 'src/ZX_ROMS/NEW/SP_128.BIN'
|
||||
DEFINE SP__48_BIN INCBIN 'src/ZX_ROMS/NEW/SP__48.BIN'
|
||||
DEFINE SP_TRDOS_BIN INCBIN 'src/ZX_ROMS/NEW/SP_TRDOS.BIN'
|
||||
DEFINE SP_EXP_BIN ;INCBIN 'src/ZX_ROMS/SP_EXP.BIN'
|
||||
ELSE
|
||||
DEFINE SP_128_BIN INCBIN 'src/ZX_ROMS/SP_128.BIN'
|
||||
DEFINE SP__48_BIN INCBIN 'src/ZX_ROMS/SP__48.BIN'
|
||||
DEFINE SP_TRDOS_BIN INCBIN 'src/ZX_ROMS/SP_TRD.BIN'
|
||||
DEFINE SP_EXP_BIN INCBIN 'src/ZX_ROMS/SP_EXP.BIN'
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
;[--------------------------------------------------------------------------]
|
||||
MACRO ROM_BUILD bitstream
|
||||
|
||||
@ -73,25 +62,9 @@
|
||||
SP_TRDOS_BIN
|
||||
Set_Block 'SP_TRD free space: ', #14000
|
||||
;
|
||||
;PAGE 5 ZX Page - #45
|
||||
SP_EXP_BIN
|
||||
Set_Block 'SP_EXP free space: ', #18000
|
||||
|
||||
IF SetFullZXromLoader
|
||||
;
|
||||
;PAGE 6 ZX Page - #46
|
||||
INCBIN 'src/ZX_ROMS/SP_EXP.BIN'
|
||||
Set_Block 'SP_EXP (duble) free space: ', #1C000
|
||||
;
|
||||
;PAGE 7 ZX Page - #47
|
||||
INCBIN 'src/ZX_ROMS/SP_EXP2.BIN'
|
||||
Set_Block 'SP_EXP2 free space: ', #20000
|
||||
ELSE
|
||||
INCBIN IMG_RECOVERY,0,#8000
|
||||
DISPLAY "ROM Disk recovery part1, pages 6..7: #20000..#28000"
|
||||
;Set_Block 'Empty space: ', #1C000 ; 6
|
||||
;Set_Block 'Empty space: ', #20000 ; 7
|
||||
ENDIF
|
||||
;PAGE 5 Recovery image part 1
|
||||
INCBIN IMG_RECOVERY,0,#C000
|
||||
DISPLAY "ROM Disk recovery part1, pages 5..7: #20000..#2C000"
|
||||
;
|
||||
|
||||
|
||||
@ -100,12 +73,11 @@
|
||||
INCBIN 'Build/Bin/EXP.BIN'
|
||||
Set_Block 'EXP free space: ', #24000
|
||||
;
|
||||
;PAGE 9-11 (#09, #0A, #0B)
|
||||
INCBIN IMG_RECOVERY,#8000,#C000
|
||||
DISPLAY "ROM Disk recovery part2, pages 9..11: #24000..#30000"
|
||||
; Set_Block 'Empty space: ', #28000
|
||||
; Set_Block 'Empty space: ', #2C000
|
||||
; Set_Block 'Empty space: ', #30000
|
||||
;PAGE 9-11 (#09, #0A, #0B) Recovery image part 2
|
||||
INCBIN IMG_RECOVERY,#C000,#8000
|
||||
DISPLAY "ROM Disk recovery part2, pages 9..10: #24000..#2C000"
|
||||
|
||||
Set_Block 'Empty space: ', #30000
|
||||
;
|
||||
;PAGE 12-15 (#0C, #0D, #0E, #0F)
|
||||
INCBIN bitstream
|
||||
|
||||
@ -25,426 +25,426 @@
|
||||
|
||||
;
|
||||
;-----------------------------------------------------------------------;
|
||||
DW %00000000000111
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0000'0111
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.VG93_1F
|
||||
DW %11010000000111
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0000'0111
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.VG93_1F
|
||||
|
||||
DW %00000000100111
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0010'0111
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.VG93_3F
|
||||
DW %11010000100111
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0010'0111
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.VG93_3F
|
||||
|
||||
DW %00000001000111
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0100'0111
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.VG93_5F
|
||||
DW %11010001000111
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0100'0111
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.VG93_5F
|
||||
|
||||
DW %00000001100111
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0110'0111
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.VG93_7F
|
||||
DW %11010001100111
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0110'0111
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.VG93_7F
|
||||
|
||||
DW %00000001101111
|
||||
DW %00011001101111
|
||||
DW %00'000'0'0110'1111
|
||||
DW %00'011'0'0110'1111
|
||||
DB ACEX.VG93_State
|
||||
DW %11010001101111
|
||||
DW %11011001101111
|
||||
DW %11'010'0'0110'1111
|
||||
DW %11'011'0'0110'1111
|
||||
DB ACEX.VG93_State
|
||||
; For joystick
|
||||
DW %00011000000111
|
||||
DW %10011001101111
|
||||
DW %00'011'0'0000'0111
|
||||
DW %10'011'0'0110'1111
|
||||
DB ACEX.JOY_VG93
|
||||
DW %10011000000111
|
||||
DW %11011001101111
|
||||
DW %10'011'0'0000'0111
|
||||
DW %11'011'0'0110'1111
|
||||
DB ACEX.JOY_VG93
|
||||
|
||||
; For VG93 with dos on
|
||||
DW %00001001101111
|
||||
DW %00011001101111
|
||||
DW %00'001'0'0110'1111
|
||||
DW %00'011'0'0110'1111
|
||||
DB ACEX.JOY_VG93
|
||||
|
||||
; For VG93 with dos off
|
||||
DW %11011001101111
|
||||
DW %11011001101111
|
||||
DW %11'011'0'0110'1111
|
||||
DW %11'011'0'0110'1111
|
||||
DB ACEX.JOY_VG93
|
||||
|
||||
DW %00000000101101
|
||||
DW %11011111111111
|
||||
DW %00'000'0'0010'1101
|
||||
DW %11'011'1'1111'1111
|
||||
DB ACEX.FDD720
|
||||
DW %11000000101101
|
||||
DW %11001111111111
|
||||
DW %11'000'0'0010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.FDD720
|
||||
|
||||
DW %00000000111101
|
||||
DW %11011111111111
|
||||
DW %00'000'0'0011'1101
|
||||
DW %11'011'1'1111'1111
|
||||
DB ACEX.FDD144
|
||||
DW %11000000111101
|
||||
DW %11001111111111
|
||||
DW %11'000'0'0011'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.FDD144
|
||||
|
||||
;!FIXIT UNKNOWN PORTS--------------------------------------------------; dos on, ⎍쪎 çĽŕĽ§ BC, ç⼨Ľ/§ ݍáě
|
||||
DW %10000100101101
|
||||
DW %11010111111111
|
||||
DW %10'000'1'0010'1101
|
||||
DW %11'010'1'1111'1111
|
||||
DB #18
|
||||
|
||||
DW %10000100111101
|
||||
DW %11010111111111
|
||||
DW %10'000'1'0011'1101
|
||||
DW %11'010'1'1111'1111
|
||||
DB #19
|
||||
|
||||
DW %10000110101101
|
||||
DW %11010111111111
|
||||
DW %10'000'1'1010'1101
|
||||
DW %11'010'1'1111'1111
|
||||
DB #1A
|
||||
;----------------------------------------------------------------------;
|
||||
|
||||
DW %00000100101101
|
||||
DW %11001111111111
|
||||
DW %00'000'1'0010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.ISA_CTRL
|
||||
DW %10000110111101
|
||||
DW %11010111111111
|
||||
DW %10'000'1'1011'1101
|
||||
DW %11'010'1'1111'1111
|
||||
DB ACEX.ISA_CTRL
|
||||
DW %11000100101101
|
||||
DW %11001111111111
|
||||
DW %11'000'1'0010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.ISA_CTRL
|
||||
|
||||
DW %00001100111101
|
||||
DW %11001101111111
|
||||
DW %00'001'1'0011'1101
|
||||
DW %11'001'1'0111'1111
|
||||
DB ACEX.CMOS_DATA.READ
|
||||
DW %11001100111101
|
||||
DW %11001101111111
|
||||
DW %11'001'1'0011'1101
|
||||
DW %11'001'1'0111'1111
|
||||
DB ACEX.CMOS_DATA.READ
|
||||
|
||||
DW %00000110101101
|
||||
DW %11001111111111
|
||||
DW %00'000'1'1010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.CMOS_ADDR.WRITE
|
||||
DW %11000110101101
|
||||
DW %11001111111111
|
||||
DW %11'000'1'1010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.CMOS_ADDR.WRITE
|
||||
|
||||
DW %00000100111101
|
||||
DW %11001101111111
|
||||
DW %00'000'1'0011'1101
|
||||
DW %11'001'1'0111'1111
|
||||
DB ACEX.CMOS_DATA.WRITE
|
||||
DW %11000100111101
|
||||
DW %11001101111111
|
||||
DW %11'000'1'0011'1101
|
||||
DW %11'001'1'0111'1111
|
||||
DB ACEX.CMOS_DATA.WRITE
|
||||
;
|
||||
;---------HDD[v]
|
||||
DW %00000001000000
|
||||
DW %11000001101111
|
||||
DW %00'000'0'0100'0000
|
||||
DW %11'000'0'0110'1111
|
||||
DB #20
|
||||
DW %01000001000000
|
||||
DW %11010001101111
|
||||
DW %01'000'0'0100'0000
|
||||
DW %11'010'0'0110'1111
|
||||
DB #20
|
||||
|
||||
DW %10000001000000
|
||||
DW %11010001101111
|
||||
DW %10'000'0'0100'0000
|
||||
DW %11'010'0'0110'1111
|
||||
DB #20
|
||||
DW %11000001000000
|
||||
DW %11000001101111
|
||||
DW %11'000'0'0100'0000
|
||||
DW %11'000'0'0110'1111
|
||||
DB #20
|
||||
|
||||
DW %00000001000001
|
||||
DW %00010111101111
|
||||
DW %00'000'0'0100'0001
|
||||
DW %00'010'1'1110'1111
|
||||
DB #21
|
||||
DW %00010001000001
|
||||
DW %11010111101111
|
||||
DW %00'010'0'0100'0001
|
||||
DW %11'010'1'1110'1111
|
||||
DB #21
|
||||
DW %11010001000001
|
||||
DW %11010111101111
|
||||
DW %11'010'0'0100'0001
|
||||
DW %11'010'1'1110'1111
|
||||
DB #21
|
||||
|
||||
DW %00000001000010
|
||||
DW %00010111101111
|
||||
DW %00'000'0'0100'0010
|
||||
DW %00'010'1'1110'1111
|
||||
DB #22
|
||||
DW %00010001000010
|
||||
DW %11010111101111
|
||||
DW %00'010'0'0100'0010
|
||||
DW %11'010'1'1110'1111
|
||||
DB #22
|
||||
DW %11010001000010
|
||||
DW %11010111101111
|
||||
DW %11'010'0'0100'0010
|
||||
DW %11'010'1'1110'1111
|
||||
DB #22
|
||||
|
||||
DW %00000001000011
|
||||
DW %00010111101111
|
||||
DW %00'000'0'0100'0011
|
||||
DW %00'010'1'1110'1111
|
||||
DB #23
|
||||
DW %00010001000011
|
||||
DW %11010111101111
|
||||
DW %00'010'0'0100'0011
|
||||
DW %11'010'1'1110'1111
|
||||
DB #23
|
||||
DW %11010001000011
|
||||
DW %11010111101111
|
||||
DW %11'010'0'0100'0011
|
||||
DW %11'010'1'1110'1111
|
||||
DB #23
|
||||
|
||||
DW %00000001000100
|
||||
DW %00010111101111
|
||||
DW %00'000'0'0100'0100
|
||||
DW %00'010'1'1110'1111
|
||||
DB #24
|
||||
DW %00010001000100
|
||||
DW %11010111101111
|
||||
DW %00'010'0'0100'0100
|
||||
DW %11'010'1'1110'1111
|
||||
DB #24
|
||||
DW %11010001000100
|
||||
DW %11010111101111
|
||||
DW %11'010'0'0100'0100
|
||||
DW %11'010'1'1110'1111
|
||||
DB #24
|
||||
|
||||
DW %00000001000101
|
||||
DW %00010111101111
|
||||
DW %00'000'0'0100'0101
|
||||
DW %00'010'1'1110'1111
|
||||
DB #25
|
||||
DW %00010001000101
|
||||
DW %11010111101111
|
||||
DW %00'010'0'0100'0101
|
||||
DW %11'010'1'1110'1111
|
||||
DB #25
|
||||
DW %11010001000101
|
||||
DW %11010111101111
|
||||
DW %11'010'0'0100'0101
|
||||
DW %11'010'1'1110'1111
|
||||
DB #25
|
||||
|
||||
DW %00000011000010
|
||||
DW %00010111101111
|
||||
DW %00'000'0'1100'0010
|
||||
DW %00'010'1'1110'1111
|
||||
DB #26
|
||||
DW %00010011000010
|
||||
DW %11010111101111
|
||||
DW %00'010'0'1100'0010
|
||||
DW %11'010'1'1110'1111
|
||||
DB #26
|
||||
DW %11010011000010
|
||||
DW %11010111101111
|
||||
DW %11'010'0'1100'0010
|
||||
DW %11'010'1'1110'1111
|
||||
DB #26
|
||||
|
||||
DW %00000011000011
|
||||
DW %00010111101111
|
||||
DW %00'000'0'1100'0011
|
||||
DW %00'010'1'1110'1111
|
||||
DB #27
|
||||
DW %00010011000011
|
||||
DW %11010111101111
|
||||
DW %00'010'0'1100'0011
|
||||
DW %11'010'1'1110'1111
|
||||
DB #27
|
||||
DW %11010011000011
|
||||
DW %11010111101111
|
||||
DW %11'010'0'1100'0011
|
||||
DW %11'010'1'1110'1111
|
||||
DB #27
|
||||
;---------HDD[^]
|
||||
;
|
||||
DW %00000011000100
|
||||
DW %00010111101111
|
||||
DW %00'000'0'1100'0100
|
||||
DW %00'010'1'1110'1111
|
||||
DB ACEX.IDE_CONTROL_3F6
|
||||
DW %00010011000100
|
||||
DW %11010111101111
|
||||
DW %00'010'0'1100'0100
|
||||
DW %11'010'1'1110'1111
|
||||
DB ACEX.IDE_CONTROL_3F6
|
||||
DW %11010011000100
|
||||
DW %11010111101111
|
||||
DW %11'010'0'1100'0100
|
||||
DW %11'010'1'1110'1111
|
||||
DB ACEX.IDE_CONTROL_3F6
|
||||
|
||||
DW %00000011000101
|
||||
DW %00010111101111
|
||||
DW %00'000'0'1100'0101
|
||||
DW %00'010'1'1110'1111
|
||||
DB ACEX.IDE_STATUS_3F7
|
||||
DW %00010011000101
|
||||
DW %11010111101111
|
||||
DW %00'010'0'1100'0101
|
||||
DW %11'010'1'1110'1111
|
||||
DB ACEX.IDE_STATUS_3F7
|
||||
DW %11010011000101
|
||||
DW %11010111101111
|
||||
DW %11'010'0'1100'0101
|
||||
DW %11'010'1'1110'1111
|
||||
DB ACEX.IDE_STATUS_3F7
|
||||
|
||||
DW %00000000101100
|
||||
DW %11001111111111
|
||||
DW %00'000'0'0010'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.IDE_CHANEL_1
|
||||
DW %11000000101100
|
||||
DW %11001111111111
|
||||
DW %11'000'0'0010'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.IDE_CHANEL_1
|
||||
|
||||
DW %00000000111100
|
||||
DW %11001111111111
|
||||
DW %00'000'0'0011'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.IDE_CHANEL_2
|
||||
DW %11000000111100
|
||||
DW %11001111111111
|
||||
DW %11'000'0'0011'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.IDE_CHANEL_2
|
||||
|
||||
DW %00000010101101
|
||||
DW %11001111111111
|
||||
DW %00'000'0'1010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.VSYNC320
|
||||
DW %11000010101101
|
||||
DW %11001111111111
|
||||
DW %11'000'0'1010'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.VSYNC320
|
||||
|
||||
DW %00000010111101
|
||||
DW %11001111111111
|
||||
DW %00'000'0'1011'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.VSYNC312
|
||||
DW %11000010111101
|
||||
DW %11001111111111
|
||||
DW %11'000'0'1011'1101
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.VSYNC312
|
||||
|
||||
DW %00000010101100
|
||||
DW %11001111111111
|
||||
DW %00'000'0'1010'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.RESET
|
||||
DW %11000010101100
|
||||
DW %11001111111111
|
||||
DW %11'000'0'1010'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.RESET
|
||||
|
||||
DW %00000010111100
|
||||
DW %11001111111111
|
||||
DW %00'000'0'1011'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.UNKNOWN ;!FIXIT ŹŽŚŽ ŻŽŞ ăĄŕ âě
|
||||
DW %11000010111100
|
||||
DW %11001111111111
|
||||
DW %11'000'0'1011'1100
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.UNKNOWN ;!FIXIT ŹŽŚŽ ŻŽŞ ăĄŕ âě
|
||||
|
||||
DW %00010000101011
|
||||
DW %11010001101011
|
||||
DW %00'010'0'0010'1011
|
||||
DW %11'010'0'0110'1011
|
||||
DB ACEX.ISA_Control ;!FIXIT ŹŽŚŽ ŻŽŞ ăĄŕ âě ???
|
||||
|
||||
DW %00011001101110
|
||||
DW %10011001101111
|
||||
DW %00'011'0'0110'1110
|
||||
DW %10'011'0'0110'1111
|
||||
DB ACEX.ZX_Keyboard
|
||||
DW %10011001101110
|
||||
DW %11011001101111
|
||||
DW %10'011'0'0110'1110
|
||||
DW %11'011'0'0110'1111
|
||||
DB ACEX.ZX_Keyboard
|
||||
|
||||
DW %00001111111101
|
||||
DW %00001111111111
|
||||
DW %00'001'1'1111'1101
|
||||
DW %00'001'1'1111'1111
|
||||
DB ACEX.AY_FFFD_READ
|
||||
|
||||
DW %00001111011111
|
||||
DW %11001111111111
|
||||
DW %00'001'1'1101'1111
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.Kempston_Mouse
|
||||
DW %11001111011111
|
||||
DW %11001111111111
|
||||
DW %11'001'1'1101'1111
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.Kempston_Mouse
|
||||
|
||||
DW %00011001100011
|
||||
DW %11011001101111
|
||||
DW %00'011'0'0110'0011
|
||||
DW %11'011'0'0110'1111
|
||||
DB ACEX.CBL_OUT
|
||||
DW %01010001100011
|
||||
DW %11010001101111
|
||||
DW %01'010'0'0110'0011
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.CBL_OUT
|
||||
DW %10010001100011
|
||||
DW %11010001101111
|
||||
DW %10'010'0'0110'0011
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.CBL_OUT
|
||||
DW %00010000000111
|
||||
DW %11011000001111
|
||||
DW %00'010'0'0000'0111
|
||||
DW %11'011'0'0000'1111
|
||||
DB ACEX.CBL_OUT
|
||||
DW %00011000001000
|
||||
DW %11011001101111
|
||||
DW %00'011'0'0000'1000
|
||||
DW %11'011'0'0110'1111
|
||||
DB ACEX.CBL_OUT
|
||||
DW %00010001101011
|
||||
DW %10010001101111
|
||||
DW %00'010'0'0110'1011
|
||||
DW %10'010'0'0110'1111
|
||||
DB ACEX.CBL_OUT
|
||||
DW %10010001101011
|
||||
DW %11010001101111
|
||||
DW %10'010'0'0110'1011
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.CBL_OUT
|
||||
|
||||
DW %00000001000110
|
||||
DW %11001111111111
|
||||
DW %00'000'0'0100'0110
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.CBL_SYS_PORT
|
||||
DW %11000001000110
|
||||
DW %11001111111111
|
||||
DW %11'000'0'0100'0110
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.CBL_SYS_PORT
|
||||
|
||||
DW %00000111111101
|
||||
DW %00001111111111
|
||||
DW %00'000'1'1111'1101
|
||||
DW %00'001'1'1111'1111
|
||||
DB ACEX.AY_FFFD_WRITE
|
||||
|
||||
DW %00000101111101
|
||||
DW %00001111111111
|
||||
DW %00'000'1'0111'1101
|
||||
DW %00'001'1'1111'1111
|
||||
DB ACEX.AY_BFFD
|
||||
|
||||
DW %00000001101101
|
||||
DW %10000111111111
|
||||
DW %00'000'0'0110'1101
|
||||
DW %10'000'1'1111'1111
|
||||
DB ACEX.Scorp_1FFD
|
||||
DW %11000001101101
|
||||
DW %11000111111111
|
||||
DW %11'000'0'0110'1101
|
||||
DW %11'000'1'1111'1111
|
||||
DB ACEX.Scorp_1FFD
|
||||
|
||||
DW %00000011101101
|
||||
DW %00100111101111
|
||||
DW %00'000'0'1110'1101
|
||||
DW %00'100'1'1110'1111
|
||||
DB ACEX.Pent_7FFD
|
||||
DW %00100011101101
|
||||
DW %11110111101111
|
||||
DW %00'100'0'1110'1101
|
||||
DW %11'110'1'1110'1111
|
||||
DB ACEX.Pent_7FFD
|
||||
DW %11100011101101
|
||||
DW %11100111101111
|
||||
DW %11'100'0'1110'1101
|
||||
DW %11'100'1'1110'1111
|
||||
DB ACEX.Pent_7FFD
|
||||
DW %10000001101101
|
||||
DW %11100111101111
|
||||
DW %10'000'0'0110'1101
|
||||
DW %11'100'1'1110'1111
|
||||
DB ACEX.Pent_7FFD
|
||||
|
||||
DW %00000001101110
|
||||
DW %00001001101111
|
||||
DW %00'000'0'0110'1110
|
||||
DW %00'001'0'0110'1111
|
||||
DB ACEX.Border_FE
|
||||
|
||||
DW %00000001010110
|
||||
DW %11001111111111
|
||||
DW %00'000'0'0101'0110
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.ALL_MODE
|
||||
DW %11000001010110
|
||||
DW %11001111111111
|
||||
DW %11'000'0'0101'0110
|
||||
DW %11'001'1'1111'1111
|
||||
DB ACEX.ALL_MODE
|
||||
|
||||
DW %00000000001001
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0000'1001
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.PORT_Y
|
||||
DW %00010000001001
|
||||
DW %11010001101111
|
||||
DW %00'010'0'0000'1001
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.PORT_Y
|
||||
DW %11010000001001
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0000'1001
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.PORT_Y
|
||||
|
||||
DW %00000001001001
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0100'1001
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.RGMOD
|
||||
DW %00010001001001
|
||||
DW %11010001101111
|
||||
DW %00'010'0'0100'1001
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.RGMOD
|
||||
DW %11010001001001
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0100'1001
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.RGMOD
|
||||
|
||||
DW %00000000100100
|
||||
DW %00000000101111
|
||||
DW %00'000'0'0010'0100
|
||||
DW %00'000'0'0010'1111
|
||||
DB ACEX.CNF_PORT
|
||||
|
||||
;!FIXIT ŹŽŚŽ ăĄŕ âě
|
||||
DW %00000001101100
|
||||
DW %11001001101111
|
||||
DW %00'000'0'0110'1100
|
||||
DW %11'001'0'0110'1111
|
||||
DB ACEX.SCALE
|
||||
DW %11000001101100
|
||||
DW %11001001101111
|
||||
DW %11'000'0'0110'1100
|
||||
DW %11'001'0'0110'1111
|
||||
DB ACEX.SCALE
|
||||
|
||||
|
||||
DW %00000000001010
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0000'1010
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.SLOT0
|
||||
DW %00010000001010
|
||||
DW %11010001101111
|
||||
DW %00'010'0'0000'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT0
|
||||
DW %11010000001010
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0000'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT0
|
||||
|
||||
DW %00000000101010
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0010'1010
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.SLOT1
|
||||
DW %00010000101010
|
||||
DW %11010001101111
|
||||
DW %00'010'0'0010'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT1
|
||||
DW %11010000101010
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0010'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT1
|
||||
|
||||
DW %00000001001010
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0100'1010
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.SLOT2
|
||||
DW %00010001001010
|
||||
DW %11010001101111
|
||||
DW %00'010'0'0100'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT2
|
||||
DW %11010001001010
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0100'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT2
|
||||
|
||||
DW %00000001101010
|
||||
DW %00010001101111
|
||||
DW %00'000'0'0110'1010
|
||||
DW %00'010'0'0110'1111
|
||||
DB ACEX.SLOT3
|
||||
DW %00010001101010
|
||||
DW %11010001101111
|
||||
DW %00'010'0'0110'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT3
|
||||
DW %11010001101010
|
||||
DW %11010001101111
|
||||
DW %11'010'0'0110'1010
|
||||
DW %11'010'0'0110'1111
|
||||
DB ACEX.SLOT3
|
||||
; DCP END MARKER
|
||||
DW 0,0,0
|
||||
|
||||
@ -305,7 +305,7 @@ POST_1_RAM_BUS:
|
||||
|
||||
; ¢ëᢥâ¨âì ®¬¥à ®è¨¡®ç®£® ¡¨â
|
||||
LD A,(HL)
|
||||
AND %11011111 ; á § ¯ïâ묨
|
||||
AND %1101'1111 ; á § ¯ïâ묨
|
||||
OUT (Z84.PIO.Port_A.Data),A
|
||||
|
||||
; ¯ ã§
|
||||
@ -515,10 +515,10 @@ POST_5_DATA_BUS:
|
||||
LD C,A
|
||||
.erb1:
|
||||
LD IX,.erbr1
|
||||
LD B,%11011111
|
||||
LD B,%1101'1111
|
||||
JP OUT_C_BYTE
|
||||
.erbr1:
|
||||
LD A,%11011111
|
||||
LD A,%1101'1111
|
||||
OUT (Z84.PIO.Port_A.Data),A
|
||||
|
||||
LD DE,0
|
||||
@ -886,8 +886,8 @@ PORTS_INIT:
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
; set HDD1/not-HDD2
|
||||
LD A,#21 ;!HARDCODE ᤥ« âì ç¥à¥§ ¬¥âªã
|
||||
OUT (IDE.Chanel.Choose),A
|
||||
LD A,IDE.Chanel.Primary ;!HARDCODE ᤥ« âì ç¥à¥§ ¬¥âªã
|
||||
OUT (IDE.Chanel.Set),A
|
||||
|
||||
LD BC,#7FFD
|
||||
LD A,#10
|
||||
@ -962,20 +962,15 @@ init_zx_roms:
|
||||
OUT (SYS_PORT.ROM),A
|
||||
;LD A,2
|
||||
INC A ;!HARDCODE
|
||||
LD B,3 ; zx-rom number of pages
|
||||
|
||||
IF SetFullZXromLoader
|
||||
LD B,6 ; zx-rom number of pages
|
||||
ELSE
|
||||
//LD B,4
|
||||
LD B,3
|
||||
ENDIF
|
||||
;!FIXIT ¯¥à¥¤¥« âì äãªæ¨î ¡¨®á ¤«ï ç⥨ï ROM-DISK ¨ ¯¥à¥¥á⨠¢ ¥£® <20>‡“ ᯥªâàã¬
|
||||
;!FIXIT ¯¥à¥¤¥« âì äãªæ¨î ¡¨®á ¤«ï ç⥨ï ROM-DISK ¨ ¯¥à¥¥á⨠¢ ¥£® <20>‡“ ᯥªâàã¬
|
||||
.loop: push bc
|
||||
|
||||
out (ROM.SLOT0),a
|
||||
or %01000000
|
||||
or %0100'0000
|
||||
out (SLOT3),a
|
||||
and %10111111
|
||||
and %1011'1111
|
||||
|
||||
LD HL,0
|
||||
LD DE,#C000
|
||||
@ -1005,25 +1000,19 @@ init_zx_roms:
|
||||
LD B,#44 ; page
|
||||
CALL .SET_ROM
|
||||
|
||||
LD A,#E0 ;!HARDCODE ROM-ID - BIOS
|
||||
LD B,#45 ; page
|
||||
CALL .SET_ROM
|
||||
; LD A,#E0 ;!HARDCODE ROM-ID - BIOS
|
||||
; LD B,#45 ; page
|
||||
; CALL .SET_ROM
|
||||
|
||||
|
||||
LD A,#EB ;!HARDCODE ROM-ID - BIOS-1
|
||||
IF SetFullZXromLoader
|
||||
LD B,#46 ; page
|
||||
ELSE
|
||||
LD B,#45 ; page
|
||||
ENDIF
|
||||
CALL .SET_ROM
|
||||
; LD A,#EB ;!HARDCODE ROM-ID - BIOS-1
|
||||
; LD B,#45 ; page
|
||||
; CALL .SET_ROM
|
||||
|
||||
; LD A,#EF ;!HARDCODE ROM-ID - BIOS-2
|
||||
; LD B,#47 ; page
|
||||
; CALL .SET_ROM
|
||||
|
||||
IF SetFullZXromLoader
|
||||
LD A,#EF ;!HARDCODE ROM-ID - BIOS-2
|
||||
LD B,#47 ; page
|
||||
CALL .SET_ROM
|
||||
ENDIF
|
||||
RET
|
||||
|
||||
.SET_ROM:
|
||||
@ -1538,34 +1527,32 @@ ROM_DISK.Pages.Number:
|
||||
; ã áâà ¨æ ¢ëáâ ¢«¥ bit4 ¤«ï ª®à४⮩ ¯®¤áâ ®¢ª¨
|
||||
;(¯®¤à®¡¥¥ ¢ sp2000.inc - <20>®àâ ã¯à ¢«¥¨ï áâà ¨æ ¬¨ <20>‡“)
|
||||
ROM_DISK.Pages: ; áâà ¨æë ROM-Disk
|
||||
IFN SetFullZXromLoader
|
||||
ABYTE #10 #06,#07,#09,#0A,#0B ; 81920 bytes
|
||||
ELSE
|
||||
ABYTE #10 #09,#0A,#0B ; 49152 bytes
|
||||
ENDIF
|
||||
ABYTE #10 #05,#06,#07,#09,#0A,#0B ; 98304 bytes
|
||||
.Size EQU $-ROM_DISK.Pages
|
||||
;-----------------------------------------------------------------------;
|
||||
;#######################################################################;
|
||||
;
|
||||
_mInfoBLOCK ToBIOS_FromEXT-$,#FF
|
||||
;------------[Return to ROM]------------
|
||||
|
||||
;---------[Return to EXTENSION]---------
|
||||
_mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT
|
||||
; #3FD0
|
||||
; „«ï ¢ë§®¢ äãªæ¨© ¡¨®á ¨§ áâà ¨æë 0 <20>‡“ (ROM Extension)
|
||||
FN1_RET:
|
||||
; „«ï ¢ë§®¢ äãªæ¨© ¡¨®á ¨§ áâà ¨æë 0 <20>‡“ (Extension)
|
||||
RET_to_EXTENSION:
|
||||
PUSH AF
|
||||
LD A,ROM.EXTENSION
|
||||
OUT (SYS_PORT.ROM),A
|
||||
POP AF
|
||||
RST #18
|
||||
JR FN1_RET
|
||||
RST ToBIOS_18
|
||||
JP RET_to_EXTENSION
|
||||
|
||||
; !TODO Free 7 bytes
|
||||
; !TODO Free 6 bytes
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
|
||||
;---------------[ Free ]----------------
|
||||
;
|
||||
_mInfoBLOCK #3FE0-$,#FF
|
||||
;---------------[ Free ]----------------
|
||||
; !TODO Free 8 bytes and entry point
|
||||
;SOUND_TEST:
|
||||
; LD A,ROM.EXPANSION
|
||||
@ -1589,16 +1576,16 @@ EXP_HDD:
|
||||
|
||||
|
||||
;
|
||||
_mInfoBLOCK #3FF0-$,#FF
|
||||
;---------------[ Free ]----------------
|
||||
_mInfoBLOCK #3FF0-$,#FF
|
||||
; !TODO Free 8 bytes and entry point
|
||||
;---------------------------------------
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
;----[ From TR-DOS to API #80..#FF ]-----
|
||||
_mInfoBLOCK #3FF8-$,#FF
|
||||
;-----[ From TR-DOS to API #80..#FF]-----
|
||||
; ’®çª ¢å®¤ /¢ë室 ¤«ï TR-DOS
|
||||
EXP_FNS_RET:
|
||||
PUSH AF
|
||||
|
||||
@ -90,16 +90,16 @@ SELECTH:
|
||||
DEC A
|
||||
LD IY,IDE.INIT_TBL_IDE1
|
||||
|
||||
JR Z,SELHH
|
||||
DEC A ;R02
|
||||
LD IY,IDE.INIT_TBL_IDE2 ;R02
|
||||
JR Z,SELHH ;R02
|
||||
DEC A ;R02
|
||||
LD IY,IDE.INIT_TBL_IDE3 ;R02
|
||||
|
||||
;R02
|
||||
JR Z,SELHH
|
||||
DEC A
|
||||
LD IY,IDE.INIT_TBL_IDE2
|
||||
JR Z,SELHH
|
||||
DEC A
|
||||
LD IY,IDE.INIT_TBL_IDE3
|
||||
;R02
|
||||
JR NZ,NODRIVE
|
||||
SELHH:
|
||||
EXX
|
||||
SELHH: EXX
|
||||
LD C,SLOT3
|
||||
IN B,(C)
|
||||
LD A,SYS_PAGE
|
||||
@ -107,14 +107,14 @@ SELHH:
|
||||
|
||||
LD A,(IY+IDE.HDD_INIT_TABLE.Chanel)
|
||||
AND #01
|
||||
LD A,#01 ;SECONDARY
|
||||
LD A,IDE.Chanel.Secondary
|
||||
JR NZ,SELCHAN
|
||||
LD A,#21 ;PRIMARY
|
||||
LD A,IDE.Chanel.Primary
|
||||
SELCHAN:
|
||||
OUT (#BC),A ;R02 ; !HARDCODE ; !HARDCODE
|
||||
OUT (IDE.Chanel.Set),A ;R02
|
||||
|
||||
LD A,(IY+IDE.HDD_INIT_TABLE.DriveType)
|
||||
CP IDE.Device.HDD
|
||||
CP IDE.Device.HDD ;!FIXIT ¢®§¬®¦®, åॠ¥ 㦮, ¯®â®¬ã-çâ® ¥á«¨ CD, â® ¯à¨«¥â¨â ¢ ¤à ©¢¥à CD
|
||||
LD A,(IY+IDE.HDD_INIT_TABLE.Chanel)
|
||||
OUT (C),B
|
||||
LD BC,IDE.Write.DriveCtrl
|
||||
@ -123,7 +123,7 @@ SELCHAN:
|
||||
EXX
|
||||
RET Z
|
||||
NODRIVE:
|
||||
LD A,2
|
||||
LD A,2 ;!HARDCODE
|
||||
SCF
|
||||
RET
|
||||
|
||||
@ -273,8 +273,7 @@ RST8RDR:
|
||||
RET
|
||||
|
||||
;READ SECTOR(S)
|
||||
RDS000:
|
||||
CALL SELECTH
|
||||
RDS000: CALL SELECTH
|
||||
RET C
|
||||
EXX
|
||||
LD DE,#C140 ;WAIT BUSY=0 & READY=1 & ERR=0
|
||||
@ -293,6 +292,7 @@ RDS000:
|
||||
LD BC,IDE.Write.Command
|
||||
LD A,#020 ;READ WITH RETRY
|
||||
OUT (C),A
|
||||
;?????
|
||||
;SAVE HL!
|
||||
RDS002: EXX
|
||||
LD DE,#8908 ;WAIT BUSY=0 & DRQ=1 & ERR=0
|
||||
@ -300,22 +300,31 @@ RDS002: EXX
|
||||
CALL WAITPRT
|
||||
EXX
|
||||
RET C
|
||||
NOP ;R01 REMOVED "DI" ; !FIXIT
|
||||
;NOP ;R01 REMOVED "DI" ; !FIXIT
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,XH
|
||||
OUT (SLOT3),A
|
||||
LD BC,IDE.Read.Data
|
||||
LD D,#20
|
||||
RDS003:
|
||||
DUP 16
|
||||
INI
|
||||
EDUP
|
||||
DEC D
|
||||
JR NZ,RDS003
|
||||
; LD D,#20
|
||||
|
||||
;!TEST v
|
||||
RDS003: DUP 16
|
||||
INI
|
||||
EDUP
|
||||
JP NZ,RDS003
|
||||
RDS004: DUP 16
|
||||
INI
|
||||
EDUP
|
||||
JP NZ,RDS004
|
||||
|
||||
; DEC D
|
||||
; JR NZ,RDS003
|
||||
;!TEST ^
|
||||
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
;EI
|
||||
;
|
||||
LD A,H
|
||||
OR L
|
||||
@ -341,7 +350,7 @@ RDS003:
|
||||
LD BC,IDE.Read.Status
|
||||
IN A,(C)
|
||||
BIT IDE.ControlBit.DataRequest,A
|
||||
JR NZ,RDS002
|
||||
JP NZ,RDS002
|
||||
XOR A
|
||||
RET
|
||||
|
||||
@ -658,9 +667,14 @@ WAITPRT:
|
||||
.P0: IN A,(C)
|
||||
AND D
|
||||
CP E
|
||||
JR NZ,.P2
|
||||
AND A
|
||||
RET
|
||||
|
||||
;!TEST
|
||||
RET Z
|
||||
;JR NZ,.P2
|
||||
;AND A
|
||||
;RET
|
||||
;
|
||||
|
||||
.P2: DEC HL
|
||||
LD A,L
|
||||
OR H
|
||||
|
||||
@ -666,11 +666,11 @@ HD_CALC_LOOP2:
|
||||
|
||||
FN_HDD_PART:
|
||||
BIT 0,A
|
||||
LD A,#21 ; !HARDCODE
|
||||
LD A,IDE.Chanel.Primary
|
||||
JR Z,.SET_CH
|
||||
LD A,#01 ; !HARDCODE
|
||||
LD A,IDE.Chanel.Secondary
|
||||
.SET_CH:
|
||||
OUT (IDE.Chanel.Choose),A
|
||||
OUT (IDE.Chanel.Set),A
|
||||
RET
|
||||
|
||||
; ENDMODULE
|
||||
|
||||
@ -81,12 +81,9 @@ EMM.InitMem:
|
||||
RESERVED_PAGES:
|
||||
;; Block #1 - ¬®¦® ®á¢®¡®¤¨âì ¯® ID 1
|
||||
DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ; for Spectrum
|
||||
DB #42,#43,#44,#45 ; For BASIC128/BASIC48/TRDOS/EXPANSION
|
||||
;!FIXIT ¢ëïᨫ®áì, çâ® í¬ã«ïâ®à <20>‡“ 㬥¥â ¡®«ìè¥ áâà ¨æ. ‚ᥣ® 10.
|
||||
IF SetFullZXromLoader
|
||||
DB #46,#47
|
||||
ENDIF
|
||||
DB #FF ; End of the block
|
||||
; í¬ã«ïâ®à <20>‡“
|
||||
DB #42,#43,#44,#45,#46,47,#48,#49,#4A,#4B ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION
|
||||
DB #FF ; End of the block
|
||||
|
||||
;; Block #2 - ¥«ì§ï ®á¢®¡®¦¤ âì
|
||||
DB 0 ; for Spectrum
|
||||
|
||||
@ -1,10 +1,7 @@
|
||||
;
|
||||
;**********************************;
|
||||
; FLEX Loading program ;
|
||||
; ACEX Loading program ;
|
||||
;**********************************;
|
||||
; ORG 0
|
||||
|
||||
; INCLUDE 'src/bios/shared/SPRINT00.asm'
|
||||
|
||||
MACRO Conf_loader altera_chip
|
||||
.START: DI
|
||||
|
||||
@ -88,259 +88,11 @@ JPHL: JP (HL)
|
||||
|
||||
;
|
||||
;----------------------------[ FOR ZX-MODE ]----------------------------;
|
||||
IF BIOS_ZXMODE
|
||||
;!HARDCODE íâ®â ¤à¥á #‘0 ¯àë£ ¥â ¢ vROM Basic-48 ¯® ¤à¥áã #3CF0
|
||||
; ¬®¦® ¯®¯à®¡®¢ âì ¯¥à¥¤¥« âì íâ®â ¤à¥á â ¬
|
||||
|
||||
_mInfoBLOCK #C0-$,0
|
||||
;BEGIN:
|
||||
; ‚室 ç¥à¥§ USR 15600
|
||||
RET_FROM_BIOS_TO_BASIC48:
|
||||
CALL CH_2
|
||||
CALL COMAND_LINE ; ‚›<E2809A>Ž‹<C5BD>…<EFBFBD>ˆ… ŠŽŒ€<C592>„›, …‘‹ˆ …‘’œ
|
||||
; ‚室 ¡¥§ ª®¬ ¤ë
|
||||
JP SW_ROM_1 ; ‚އ‚<E280A1>€’ ‚ << MAIN MENU >>
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
;----------------------------[ ??????????? ]----------------------------;
|
||||
; TURBO_OFF:
|
||||
; LD A,D_TBOFF
|
||||
; OUT (SYS_PORT.ON),A
|
||||
; RET
|
||||
;
|
||||
; TURBO_ON:
|
||||
; LD A,D_TBON
|
||||
; OUT (SYS_PORT.ON),A
|
||||
; RET
|
||||
;
|
||||
; JP_HL: JP (HL)
|
||||
;
|
||||
;PRINT_LINE:
|
||||
; LD A,(HL)
|
||||
; INC HL
|
||||
; CP 0FFh
|
||||
; RET Z
|
||||
; RST 10H
|
||||
; JR PRINT_LINE
|
||||
;
|
||||
; JP RESET_128
|
||||
;-----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
; ******* SERVICE *******
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;------[ „…˜ˆ”<CB86>€–ˆŸ ŠŽŒ€<C592>„<EFBFBD>މ ‘’<E28098>ŽŠˆ,<2C>…<EFBFBD>…„€<E2809E><E282AC>މ „‹Ÿ "EXPANSION" ]-------;
|
||||
COMAND_LINE:
|
||||
LD HL,(#5C5D) ;!HARDCODE CH_ADR
|
||||
COMAND_LOOP:
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP ":"
|
||||
JR Z,COMAND_L1
|
||||
CP #0D
|
||||
JR NZ,COMAND_LOOP
|
||||
RET
|
||||
|
||||
COMAND_L1:
|
||||
LD A,(HL)
|
||||
CP #EA ;!HARDCODE
|
||||
RET NZ
|
||||
INC HL
|
||||
COMAND_OK: ; Ž<><C5BD>€<EFBFBD>“†…<E280A0>€ ŠŽŒ€<C592>„€ „‹Ÿ 'expansion'
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP ':'
|
||||
JP Z,MENU_S1
|
||||
CP #0D
|
||||
JP Z,MENU_S1
|
||||
CP 'I'
|
||||
JR Z,COMAND_ISD
|
||||
CP 'i'
|
||||
JR Z,COMAND_ISD
|
||||
CP 'T'
|
||||
JR Z,TASK_SWITCH
|
||||
CP 't'
|
||||
JR Z,TASK_SWITCH
|
||||
DEC HL
|
||||
POP BC
|
||||
JP BASIC_MENU
|
||||
MENU_S1:
|
||||
POP BC
|
||||
CALL SERVICE
|
||||
JP SW_ROM_1
|
||||
|
||||
COMAND_ISD:
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP 'S'
|
||||
JP Z,COMAND_ISD2
|
||||
CP 's'
|
||||
JP Z,COMAND_ISD2
|
||||
RET
|
||||
|
||||
COMAND_ISD2:
|
||||
POP BC
|
||||
CALL ISDOS
|
||||
JP SW_ROM_1
|
||||
|
||||
|
||||
TASK_SWITCH:
|
||||
; *** ‘®åà ¨âì § ¤ çã ***
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
EXX
|
||||
EX AF,AF'
|
||||
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
LD A,R
|
||||
PUSH AF
|
||||
LD A,I
|
||||
PUSH AF
|
||||
|
||||
LD A,(HL)
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
AND 30H ; ®¢ ï § ¤ ç 0..3
|
||||
LD C,A
|
||||
|
||||
IN A,(SLOT3)
|
||||
LD B,A ; 3-ï áâà ¨æ ⥪ã饩 § ¤ ç¨
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD IX,SYS_PAGE.TASK_DATA ; ¤ ë¥ § ¤ ç
|
||||
LD E,(IX) ; áâ à ï § ¤ ç
|
||||
LD D,0
|
||||
ADD IX,DE ; ¤ ë¥ â¥ªã饩 § ¤ ç¨
|
||||
LD E,16
|
||||
ADD IX,DE ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||
|
||||
LD (IX+1),B ; á®åà ¨âì áâà ¨æã 3
|
||||
LD HL,0
|
||||
ADD HL,SP
|
||||
LD (IX+2),L ; á®åà ¨âì á⥪ § ¤ ç¨
|
||||
LD (IX+3),H
|
||||
SET 0,(IX) ; ãáâ ®¢¨âì ä« £ á®åà ¥®á⨠⥪ã饩 § ¤ ç¨
|
||||
RES 1,(IX) ; ãáâ ®¢¨âì ä« £, çâ® § ¤ ç ¯®ª¨ãâ
|
||||
|
||||
LD IX,SYS_PAGE.TASK_DATA
|
||||
LD E,C
|
||||
LD D,0
|
||||
ADD IX,DE ; ®¢ ï § ¤ ç
|
||||
LD E,16
|
||||
ADD IX,DE ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||
|
||||
BIT 1,(IX)
|
||||
; JR NZ,TASK_IN_WORK ; § ¤ ç ¢ à ¡®â¥ ??? ¥¢¥à®¥ § ¢¥à襨¥
|
||||
; á¡à áë¢ âì ¨«¨ ¯à®áâ® ¢®§¢à é âìáï
|
||||
|
||||
BIT 0,(IX) ; ¡ë« á®åà ¥ /¥â
|
||||
JR NZ,TASK_SET ; § ¤ ç áãé¥áâ¢ã¥â
|
||||
|
||||
; § ¤ ç¨ ¥ ¡ë«®!
|
||||
LD IX,SYS_PAGE.TASK_DATA
|
||||
LD A,C ; § ¤ ç
|
||||
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
||||
|
||||
JP SPECTRUM_TASK ; § ¯ãáâ¨âì ®¢ãî § ¤ çã!
|
||||
; ¨ ¯®ª ¯®ä¨£ à á¯à¥¤¥«¥¨¥ ¯ ¬ïâ¨!
|
||||
|
||||
TASK_SET:
|
||||
LD IX,TASK_RESTORE
|
||||
LD A,C
|
||||
EXX
|
||||
JP INIT_PAGES ; ¯¥à¥ª«îç¨âì ¢á¥ áâà ¨æë!
|
||||
|
||||
TASK_RESTORE:
|
||||
EXX
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD IX,SYS_PAGE.TASK_DATA
|
||||
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
||||
|
||||
LD E,A
|
||||
LD D,0
|
||||
ADD IX,DE ; ®¢ ï § ¤ ç
|
||||
LD E,16
|
||||
ADD IX,DE
|
||||
|
||||
LD L,(IX+2) ; ¢á¯®¬¨âì á⥪
|
||||
LD H,(IX+3)
|
||||
LD SP,HL
|
||||
LD A,(IX+1) ; ¢á¯®¬¨âì âà¥âìî áâà ¨æã
|
||||
OUT (SLOT3),A
|
||||
|
||||
|
||||
POP AF ; ¢®ááâ ®¢¨âì
|
||||
LD I,A
|
||||
POP AF
|
||||
LD R,A
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
POP AF
|
||||
EX AF,AF'
|
||||
EXX
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
POP AF
|
||||
POP IX
|
||||
POP IY
|
||||
; ¢¥àãâìáï ¢ § ¤ çã
|
||||
|
||||
NO_TASK:
|
||||
POP BC
|
||||
JP SW_ROM_1
|
||||
|
||||
; 259F - ADRESS BASIC128 - MAIN_MENU
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
; *** UTILITES ***
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
; C_0030: ; ¯®«ãç¨âì à ¡ ®¡«
|
||||
; CALL_48X 0030h
|
||||
; RET
|
||||
C_19E8: ; ®ç¨áâ¨âì à ¡ ®¡«
|
||||
CALL_48X #19E8 ;!HARDCODE
|
||||
RET
|
||||
C_1655: ; ¯®«ãç¨âì ¯à®áâà á⢮
|
||||
CALL_48X #1655 ;!HARDCODE
|
||||
RET
|
||||
CLS:
|
||||
C_0D6B: CALL_48 #0D6B ;!HARDCODE
|
||||
RET
|
||||
CH_2: LD A,2
|
||||
C_1601: ; OPEN CHANEL
|
||||
CALL_48 #1601 ;!HARDCODE
|
||||
RET
|
||||
|
||||
INCLUDE '../exp/ZX_MENU.ASM'
|
||||
INCLUDE '../exp/ZX_MODE.ASM'
|
||||
ENDIF
|
||||
INCLUDE 'ZX/ZX_FUNC.ASM'
|
||||
INCLUDE 'ZX/ZX_MENU.ASM'
|
||||
;-----------------------------------------------------------------------;
|
||||
; _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ _ZX_ ;
|
||||
;
|
||||
@ -353,48 +105,48 @@ C_1601: ; OPEN CHANEL
|
||||
|
||||
BLOCK_Setup EQU $
|
||||
;
|
||||
IF PACKED_MAIN
|
||||
BLOCK ROM_MAP.SETUP-$,#FF
|
||||
IF PACKED_MAIN
|
||||
BLOCK ROM_MAP.SETUP-$,#FF
|
||||
|
||||
DISP COMPILE_ADDR.SETUP
|
||||
DISP COMPILE_ADDR.SETUP
|
||||
|
||||
; Depacker version
|
||||
SETUP_MAIN:
|
||||
LD HL,DEPACKER.UnpackedEXECaddr; â®çª ¢å®¤ ¢ à ᯠª®¢ ®¬ ª®¤¥
|
||||
PUSH HL
|
||||
LD DE,DEPACKER.WorkAddr ; ¤à¥á ¯à®æ¥¤ãàë ¤¥¯ ª¥à
|
||||
PUSH DE
|
||||
LD HL,DEPACKER.UnpackedEXECaddr; â®çª ¢å®¤ ¢ à ᯠª®¢ ®¬ ª®¤¥
|
||||
PUSH HL
|
||||
LD DE,DEPACKER.WorkAddr ; ¤à¥á ¯à®æ¥¤ãàë ¤¥¯ ª¥à
|
||||
PUSH DE
|
||||
|
||||
LD HL,DEPACKER.Addr
|
||||
LD BC,DEPACKER.Length
|
||||
LDIR
|
||||
LD HL,DEPACKER.Addr
|
||||
LD BC,DEPACKER.Length
|
||||
LDIR
|
||||
|
||||
LD HL,DEPACKER.PackedMAIN ; £¤¥ à娢
|
||||
LD DE,DEPACKER.UnpackAddr ; ªã¤ à ᯠª®¢ë¢ âì
|
||||
RET
|
||||
LD HL,DEPACKER.PackedMAIN ; £¤¥ à娢
|
||||
LD DE,DEPACKER.UnpackAddr ; ªã¤ à ᯠª®¢ë¢ âì
|
||||
RET
|
||||
|
||||
.Depacker EQU $
|
||||
ENT
|
||||
.Depacker EQU $
|
||||
ENT
|
||||
|
||||
;-----------------[v]
|
||||
DEPACK_DATA:
|
||||
DISP DEPACKER.WorkAddr
|
||||
MODULE UnPacker
|
||||
INCLUDE 'src/bios/ROM/SETUP/DEHRUST.asm' ; !TODO ᤥ« âì LUA ¢â®¢ë¡®à ¤¥ª®¬¯à¥áá®à ¨ ª®¬¯à¥áá®à
|
||||
PackedMAIN: INCBIN 'Build/Bin/temp/MAIN.PAK'
|
||||
ENDMODULE
|
||||
ENT
|
||||
DISP DEPACKER.WorkAddr
|
||||
MODULE UnPacker
|
||||
INCLUDE 'src/bios/ROM/SETUP/DEHRUST.asm' ; !TODO ᤥ« âì LUA ¢â®¢ë¡®à ¤¥ª®¬¯à¥áá®à ¨ ª®¬¯à¥áá®à
|
||||
PackedMAIN: INCBIN 'Build/Bin/temp/MAIN.PAK'
|
||||
ENDMODULE
|
||||
ENT
|
||||
DEPACK_DATA.length EQU $-DEPACK_DATA
|
||||
;-----------------[^]
|
||||
|
||||
|
||||
ELSE
|
||||
DISP COMPILE_ADDR.SETUP
|
||||
ShowInfo 'Setup block DISP start', 1 ; !!!!! test
|
||||
SETUP_MAIN: INCLUDE 'src/bios/ROM/SETUP/Main.asm'
|
||||
ShowInfo 'Setup block DISP end', 1 ; !!!!! test
|
||||
ENT
|
||||
ENDIF
|
||||
ELSE
|
||||
DISP COMPILE_ADDR.SETUP
|
||||
ShowInfo 'Setup block DISP start', 1 ; !!!!! test
|
||||
SETUP_MAIN: INCLUDE 'src/bios/ROM/SETUP/Main.asm'
|
||||
ShowInfo 'Setup block DISP end', 1 ; !!!!! test
|
||||
ENT
|
||||
ENDIF
|
||||
|
||||
|
||||
ShowInfo 'Setup block of ROM end', 0 ; !!!!! test
|
||||
@ -443,17 +195,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
|
||||
;*************************
|
||||
|
||||
_mInfoBLOCK #3CF0-$,0
|
||||
IF BIOS_ZXMODE
|
||||
/*
|
||||
;BEGIN:
|
||||
; ‚室 ç¥à¥§ USR 15600
|
||||
RET_FROM_BIOS_TO_BASIC48:
|
||||
CALL CH_2
|
||||
CALL COMAND_LINE ; ‚›<E2809A>Ž‹<C5BD>…<EFBFBD>ˆ… ŠŽŒ€<C592>„›, …‘‹ˆ …‘’œ
|
||||
; ‚室 ¡¥§ ª®¬ ¤ë
|
||||
JR SW_ROM_1 ; ‚އ‚<E280A1>€’ ‚ << MAIN MENU >>
|
||||
*/
|
||||
ENDIF
|
||||
;JMP_48:
|
||||
; LD HL,00h
|
||||
; JR JP_HL_48
|
||||
@ -540,7 +281,7 @@ SW_ROM:
|
||||
|
||||
|
||||
;
|
||||
;***************************************
|
||||
;---------------------------------------
|
||||
; _mInfoBLOCK #3FC6-$,#FF
|
||||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
||||
; ¨«¨ ¬®¦® ¤®¡ ¢¨âì äãªæ¨¨
|
||||
@ -552,39 +293,38 @@ SW_ROM:
|
||||
; SET 6,C
|
||||
; RST_to_BIOS
|
||||
; JR RET_TO_TRDOS
|
||||
;***************************************
|
||||
;---------------------------------------
|
||||
;
|
||||
;---------------[SET BIOS]---------------
|
||||
_mInfoBLOCK ToBIOS_FromEXT-$,#FF ; #3FD0
|
||||
;--------------[GOTO BIOS]--------------
|
||||
; call BIOS from EXTENSION
|
||||
;RST18h:
|
||||
_mInfoBLOCK #3FD0-$,#FF ; ToBIOS_FromEXT
|
||||
PUSH AF
|
||||
LD A,ROM.BIOS ; set exp-rom to slot0
|
||||
LD A,ROM.BIOS ; set BIOS to slot0
|
||||
OUT (SYS_PORT.ROM),A
|
||||
POP AF
|
||||
RET
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
|
||||
;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
||||
;--------[ From TR-DOS to HDD part2]--------
|
||||
_mInfoBLOCK #3FD8-$,#FF
|
||||
TRDOS_HD_CMD:
|
||||
POP AF
|
||||
SET 6,C ;!FIXIT ¯¥à¥¤¥« âì <20>‡“ âà¤®á ¨ ᯥªâà㬮¢ ¯®¤ ¯à ¢¨«ìë© ¢ë§®¢ äãªæ¨© ¡¨®á ( ¥ ¢¬¥áâ® äãªæ¨© 4x äãªæ¨¨ 0x)
|
||||
SET 6,C
|
||||
RST_to_BIOS
|
||||
JR RET_TO_TRDOS
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
;!FIXIT ®áâ ⪨ ®â ᯥªâàã¬
|
||||
;!FIXIT ®áâ ⪨ ®â â¥á⮢ ˆ¢ á® §¢ãª®¢®© ª à⮩
|
||||
;-------------[SND_TEST_RET]-------------
|
||||
_mInfoBLOCK #3FE0-$,#FF
|
||||
SND_TEST_RET:
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.RAM),A
|
||||
; JP SOUND_TEST
|
||||
JP #0000
|
||||
; SND_TEST_RET:
|
||||
; LD A,ROM.BIOS
|
||||
; OUT (SYS_PORT.RAM),A
|
||||
; ;JP SOUND_TEST
|
||||
; JP #0000
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
@ -599,8 +339,8 @@ SND_TEST_RET:
|
||||
;---------------------------------------
|
||||
|
||||
|
||||
;!FIXIT íâ â®çª ¢å®¤ ®ç¥ì áâà ï ¨§ áâà ¨æë ¢ áâà ¨æã ¯àë£ ¥â
|
||||
;---------[ From TR-DOS to HDD ]--------
|
||||
;!FIXIT Œ®¦® ¯®¯à ¢¨âì ®¬¥à äãªæ¨© ¯à¨ ¢ë§®¢ å ¨§ TR-DOS ¨ ¯àë£ âì áà §ã ¢ BIOS
|
||||
;-------[ From TR-DOS to API 4x ]-------
|
||||
_mInfoBLOCK #3FF0-$,255
|
||||
RET_TO_TRDOS:
|
||||
PUSH AF
|
||||
@ -614,12 +354,10 @@ RET_TO_TRDOS:
|
||||
|
||||
;-----[???????????????????????????]-----
|
||||
_mInfoBLOCK #3FF8-$,255
|
||||
A3FF8: PUSH AF
|
||||
LD A,ROM.BIOS
|
||||
OUT (SYS_PORT.RAM),A
|
||||
; !FIXIT ¬®¦¥â ã¡à âì § £«ãèªã ¨ ᤥ« âì, ç⮡ ¯¥à¥ª«îç «®áì BIOS ¨ ¤ «ìè¥ ª ª ¢ EXP_FNS_RET ?
|
||||
; ¨«¨ ᢮¥£® 祣®-¨¡ã¤ì ¤®¡ ¢¨âì.
|
||||
JP #0000
|
||||
; PUSH AF
|
||||
; LD A,ROM.BIOS
|
||||
; OUT (SYS_PORT.RAM),A
|
||||
; JP #0000
|
||||
;---------------------------------------
|
||||
_mInfoBLOCK #4000-$,255
|
||||
;=======================================
|
||||
|
||||
@ -95,7 +95,7 @@ CDAUTO:
|
||||
JP CDMASTR
|
||||
|
||||
SELECT_IDE:
|
||||
AND A ;%00000011
|
||||
AND A ;%0000'0011
|
||||
LD D,#A0
|
||||
JR Z,IAUTO0
|
||||
DEC A
|
||||
@ -107,14 +107,14 @@ SELECT_IDE:
|
||||
DEC A ;R00
|
||||
LD D,#B0 ;R00
|
||||
IAUTO1:
|
||||
LD A,#01 ;R00 ;SELECT SECONDARY
|
||||
OUT (#BC),A ;R00
|
||||
LD A,IDE.Chanel.Secondary ;R00 ;SELECT SECONDARY
|
||||
OUT (IDE.Chanel.Set),A ;R00
|
||||
LD A,1
|
||||
JR IAUTO ;R00
|
||||
|
||||
IAUTO0:
|
||||
LD A,#21 ;R00 ;SELECT PRIMARY
|
||||
OUT (#BC),A ;R00
|
||||
LD A,IDE.Chanel.Primary ;R00 ;SELECT PRIMARY
|
||||
OUT (IDE.Chanel.Set),A ;R00
|
||||
LD A,0
|
||||
IAUTO:
|
||||
LD (ICHANEL),A
|
||||
|
||||
@ -108,7 +108,7 @@ MAIN_START:
|
||||
POP HL
|
||||
LD SP,STACK
|
||||
PUSH HL
|
||||
ld (RET_TO_EXP_ADDR),hl
|
||||
LD (RET_TO_EXP_ADDR),hl
|
||||
JP START
|
||||
; DB "(C) 2002 PETERS PLUS LTD "
|
||||
RET_TO_EXP_ADDR: WORD 0000 ; place for save ret address to exp
|
||||
@ -120,8 +120,6 @@ RET_TO_EXP_ADDR: WORD 0000 ; p
|
||||
GETTIME:
|
||||
PUSH HL
|
||||
LD D,4 ;HOURS
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #24 ;24
|
||||
jp nc,.error
|
||||
@ -129,8 +127,6 @@ GETTIME:
|
||||
INC HL
|
||||
|
||||
LD D,2 ;MINUTES
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #5A ; 60
|
||||
jp nc,.error
|
||||
@ -138,8 +134,6 @@ GETTIME:
|
||||
INC HL
|
||||
|
||||
LD D,0 ;SECONDS
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #5A ; 60
|
||||
jp nc,.error
|
||||
@ -147,8 +141,6 @@ GETTIME:
|
||||
INC HL
|
||||
|
||||
LD D,7 ;DAY
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #32 ;32
|
||||
jp nc,.error
|
||||
@ -156,8 +148,6 @@ GETTIME:
|
||||
INC HL
|
||||
|
||||
LD D,8 ;MONTH
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #13 ;13
|
||||
jp nc,.error
|
||||
@ -165,8 +155,6 @@ GETTIME:
|
||||
INC HL
|
||||
|
||||
LD D,#32 ;CENTURY
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #1A ;20
|
||||
jp c,.error
|
||||
@ -176,8 +164,6 @@ GETTIME:
|
||||
INC HL
|
||||
|
||||
LD D,9 ;YEAR
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #9A ;100
|
||||
jp nc,.error
|
||||
@ -245,35 +231,25 @@ GETTIME:
|
||||
; ¥á«¨ ¡ â ३ª ᥫ , â® ¯à¨ 祪¥ ª¬®á ¢ë¤ ¢ âì ᮮ⢥âáâ¢ãîéãî ®è¨¡ªã ¨, ¢®§¬®¦®, à ¡®â âì ª ª ¡¥§ ª¬®á .
|
||||
CMOSINIT:
|
||||
LD D,CMOS.Register.CTRLregA ; !FIXIT FREQ
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #26 ; !FIXIT
|
||||
JR NZ,CMSERR
|
||||
|
||||
LD D,CMOS.Register.CTRLregC
|
||||
;LD C,BIOS.CMOS_RD
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_RD
|
||||
CP #50
|
||||
RET Z
|
||||
CMSERR:
|
||||
LD D,CMOS.Register.CTRLregB
|
||||
LD A,#82 ;TIME FORMAT ; !FIXIT CMOS
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
LD D,CMOS.Register.CTRLregA
|
||||
LD A,#26 ; !FIXIT CMOS FREQ
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
LD D,CMOS.Register.CTRLregC
|
||||
LD A,#0 ; !FIXIT CMOS
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
LD HL,GETTIME.default_date
|
||||
@ -281,8 +257,6 @@ CMSERR:
|
||||
|
||||
LD D,CMOS.Register.CTRLregB
|
||||
LD A,#02 ;TIME FORMAT ; !FIXIT CMOS
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
; LD D,13
|
||||
@ -316,8 +290,6 @@ MEMLOOP:
|
||||
LD L,A
|
||||
CALL NZ,RCHAIN
|
||||
DJNZ MEMLOOP
|
||||
;LD C,BIOS.InitMem
|
||||
;RST_to_BIOS
|
||||
CALL EMM.InitMem
|
||||
LD BC,#400E ;!HARDCODE
|
||||
CALL G_VALUE
|
||||
@ -423,21 +395,15 @@ INSTALL:
|
||||
LD IX,win_descriptor.tab80x32
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
;LD C,BIOS.WIN_OPEN
|
||||
;RST_to_BIOS
|
||||
CALL WIN_OPEN
|
||||
|
||||
LD DE,0
|
||||
LD HL,#2050
|
||||
;LD BC,7*256 + BIOS.LP_CLS_WIN
|
||||
;RST_to_BIOS
|
||||
LD B,7
|
||||
CALL LP_CLS_WIN
|
||||
|
||||
LD DE,0
|
||||
LD HL,#0820
|
||||
;LD BC,0*256 + BIOS.LP_CLS_WIN
|
||||
;RST_to_BIOS
|
||||
LD B,0
|
||||
CALL LP_CLS_WIN
|
||||
|
||||
@ -445,7 +411,6 @@ INSTALL:
|
||||
|
||||
CALL GET_ID
|
||||
LD DE,#0028 ; !HARDCODE
|
||||
;CALL ScreenPOS.LOCAT
|
||||
CALL LP_SET_PLACE
|
||||
LD HL,memBUFFER.ID
|
||||
LD A,COLORS.INC.LCYAN
|
||||
@ -455,14 +420,12 @@ INSTALL:
|
||||
CALL CPRINTZ
|
||||
|
||||
LD DE,#0128 ; !HARDCODE
|
||||
;CALL ScreenPOS.LOCAT
|
||||
CALL LP_SET_PLACE
|
||||
LD A,msgStrings.copyRightPeters
|
||||
LD E,COLORS.INC.LGREEN
|
||||
CALL POSTMSC
|
||||
|
||||
LD DE,#0228 ; !HARDCODE
|
||||
;CALL ScreenPOS.LOCAT
|
||||
CALL LP_SET_PLACE
|
||||
LD A,msgStrings.copyRightSPTeam
|
||||
LD E,COLORS.INC.GREEN
|
||||
@ -470,7 +433,6 @@ INSTALL:
|
||||
|
||||
IF DEBUG
|
||||
LD DE,#0328
|
||||
;CALL ScreenPOS.LOCAT
|
||||
CALL LP_SET_PLACE
|
||||
LD A,msgStrings.testBIOSmsg
|
||||
LD E,COLORS.FLASH + COLORS.INC.RED ; !HARDCODE
|
||||
@ -656,8 +618,6 @@ CHEKOK: ;CALL ScreenPOS.GET_CUR
|
||||
|
||||
LD A,msgStrings.spMemory
|
||||
CALL POSTMSG
|
||||
;LD C,BIOS.GetMemSize
|
||||
;RST_to_BIOS
|
||||
CALL EMM.GetMemSize
|
||||
PUSH BC
|
||||
CALL PMEMORY
|
||||
@ -785,50 +745,36 @@ COMPARE:
|
||||
writeDateTimeToCmos: ;!FIXIT
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.hours
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.minutes
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.seconds
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.date
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.month
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.century
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
LD D,CMOS.Register.year
|
||||
;LD C,BIOS.CMOS_WR
|
||||
;RST_to_BIOS
|
||||
CALL CMOS_WR
|
||||
RET
|
||||
|
||||
@ -910,24 +856,18 @@ RECOVERYstart:
|
||||
; ¯à¨¡¨¢ ¥¬ ¯®á«¥¤¨© à ¬¤¨áª, ¥á«¨ § ïâ
|
||||
.killRAMdisk: LD A,SYS_PAGE.RAMD_KEYS.NUM-1
|
||||
LD (.RDkey),A
|
||||
;LD C,BIOS.FreeMemRMD
|
||||
;RST_to_BIOS
|
||||
CALL EMM.FreeMemRMD
|
||||
JR NC,.setRAMdisk
|
||||
JR Z,.setRAMdisk
|
||||
RET ; ¥¯®ïâ ï ®è¨¡ª - ¢ë室¨¬
|
||||
.setRAMdisk: LD A,(.RDkey)
|
||||
;LD BC,ROM_DISK.Pages.Size * 256 + BIOS.GetMemRMD
|
||||
;RST_to_BIOS
|
||||
LD B,ROM_DISK.Pages.Size
|
||||
CALL EMM.GetMemRMD
|
||||
JR NC,.IMGread ; ᢮¡®¤ë© à ¬¤¨áª ©¤¥
|
||||
DEC A
|
||||
JR Z,.FreeMem ; ®è¨¡ª - ¥¤®áâ â®ç® ¯ ¬ïâ¨, ¢ë§ë¢ ¥¬ ®ç¨áâªã ¯ ¬ïâ¨
|
||||
RET ; ¥¯®ïâ ï ®è¨¡ª - ¢ë室¨¬
|
||||
.FreeMem: ;LD C,BIOS.FullInit
|
||||
;RST_to_BIOS
|
||||
CALL EMM.FullInit
|
||||
.FreeMem: CALL EMM.FullInit
|
||||
JR .killRAMdisk
|
||||
;
|
||||
|
||||
@ -985,8 +925,6 @@ FDSTART:
|
||||
LD A,msgStrings.bootFdd
|
||||
CALL POSTMSG
|
||||
POP AF
|
||||
;LD C,BIOS.DRV_RESET
|
||||
;RST_to_BIOS
|
||||
CALL FDD_5x.RESET
|
||||
POP BC
|
||||
RET C
|
||||
@ -1378,8 +1316,6 @@ PIDNUM: LD HL,memBUFFER.ID
|
||||
RET
|
||||
|
||||
PIDBOARD:
|
||||
;LD BC,1*256 + BIOS.FN_CRIPT
|
||||
;RST_to_BIOS
|
||||
LD B,1
|
||||
CALL FN_CRIPT
|
||||
|
||||
@ -1576,10 +1512,10 @@ NOCOPYC:
|
||||
|
||||
TRQUICK:
|
||||
;REGISTER #1E
|
||||
; %00000011 - TR DOS A: Default / FDD / HDD / RMD
|
||||
; %00001100 - TR DOS B: Default / FDD / HDD / RMD
|
||||
; %00110000 - TR DOS C: Default / FDD / HDD / RMD
|
||||
; %11000000 - TR DOS D: Default / FDD / HDD / RMD
|
||||
; %0000'0011 - TR DOS A: Default / FDD / HDD / RMD
|
||||
; %0000'1100 - TR DOS B: Default / FDD / HDD / RMD
|
||||
; %0011'0000 - TR DOS C: Default / FDD / HDD / RMD
|
||||
; %1100'0000 - TR DOS D: Default / FDD / HDD / RMD
|
||||
LD BC,#031E
|
||||
LD A,0
|
||||
CALL TRDOSX
|
||||
|
||||
@ -9,8 +9,6 @@ SETTINGS:
|
||||
LD HL,#2050
|
||||
LD A,(NORCLR)
|
||||
LD B,A
|
||||
;LD C,BIOS.LP_CLS_WIN
|
||||
;RST_to_BIOS
|
||||
CALL LP_CLS_WIN
|
||||
|
||||
|
||||
@ -371,14 +369,10 @@ FSCREEN:
|
||||
HALT
|
||||
FSC1:
|
||||
PUSH DE
|
||||
;LD C,BIOS.LP_SET_PLACE
|
||||
;RST_to_BIOS
|
||||
CALL LP_SET_PLACE
|
||||
|
||||
LD A,(NORCLR)
|
||||
LD E,A
|
||||
;LD BC,#50*256+BIOS.LP_PRINT_ATR ;#5083
|
||||
;RST_to_BIOS
|
||||
LD B,#50
|
||||
CALL LP_PRINT_ATR
|
||||
|
||||
@ -747,123 +741,88 @@ SETDEF: ;!TODO
|
||||
RET
|
||||
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[v]
|
||||
IF NEW_FEATURE
|
||||
; New procedure with IY reg
|
||||
IF NEW_FEATURE
|
||||
Get_Item_Address:
|
||||
LD A,(ITEM)
|
||||
LD L,A
|
||||
LD H,0
|
||||
LD DE,SettingsItemsTabsAddrs
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
PUSH HL
|
||||
POP IY
|
||||
RET
|
||||
ELSE
|
||||
LD A,(ITEM)
|
||||
LD L,A
|
||||
LD H,0
|
||||
LD DE,SettingsItemsTabsAddrs
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
PUSH HL
|
||||
POP IY
|
||||
RET
|
||||
|
||||
ELSE
|
||||
Get_Item_Address:
|
||||
LD A,(ITEM)
|
||||
LD L,A
|
||||
LD H,0
|
||||
LD DE,SettingsItemsTabsAddrs
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
INC HL
|
||||
INC HL
|
||||
RET
|
||||
ENDIF
|
||||
LD A,(ITEM)
|
||||
LD L,A
|
||||
LD H,0
|
||||
LD DE,SettingsItemsTabsAddrs
|
||||
ADD HL,HL
|
||||
ADD HL,DE
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
INC HL
|
||||
INC HL
|
||||
RET
|
||||
ENDIF
|
||||
;/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\-[^]
|
||||
;
|
||||
MODULE OnChangeAction
|
||||
nothing:
|
||||
ret
|
||||
IF NEW_FEATURE
|
||||
|
||||
; !TODO New Feature
|
||||
; !TODO § ¬ãâ¨âì çâ®-⮠⨯ API ¤«ï à¨á®¢ ¨ï ¢á¯«ë¢ îé¨å ®ª®
|
||||
IF NEW_FEATURE
|
||||
SetTime:
|
||||
; !TODO New Feature
|
||||
; !TODO § ¬ãâ¨âì çâ®-⮠⨯ API ¤«ï à¨á®¢ ¨ï ¢á¯«ë¢ îé¨å ®ª®
|
||||
xor a
|
||||
ld hl,#050E
|
||||
ld de,#0C20
|
||||
ld ix,memBUFFER.Shared
|
||||
;ld c,BIOS.WIN_COPY
|
||||
;RST_to_BIOS_18
|
||||
CALL WIN_COPY
|
||||
xor a
|
||||
ld hl,#050E
|
||||
ld de,#0C20
|
||||
ld ix,memBUFFER.Shared
|
||||
CALL WIN_COPY
|
||||
|
||||
LD DE,#0C20 ; !HARDCODE
|
||||
ld b,5
|
||||
DI
|
||||
LD DE,#0C20 ; !HARDCODE
|
||||
ld b,5
|
||||
DI
|
||||
|
||||
.loop: push bc
|
||||
push de
|
||||
;CALL ScreenPOS.LOCAT
|
||||
CALL LP_SET_PLACE
|
||||
; ¯¥ç âì âਡã⮢
|
||||
LD E,COLORS.INC.RED
|
||||
;LD BC,#0E * 256 + BIOS.LP_PRINT_ATR
|
||||
;RST_to_BIOS_18
|
||||
LD B,#0E
|
||||
CALL LP_PRINT_ATR
|
||||
.loop: push bc
|
||||
push de
|
||||
CALL LP_SET_PLACE
|
||||
; ¯¥ç âì âਡã⮢
|
||||
LD E,COLORS.INC.RED
|
||||
LD B,#0E
|
||||
CALL LP_PRINT_ATR
|
||||
|
||||
pop de
|
||||
inc d
|
||||
pop bc
|
||||
DJNZ .loop
|
||||
pop de
|
||||
inc d
|
||||
pop bc
|
||||
DJNZ .loop
|
||||
|
||||
CALL setFRAME.single
|
||||
LD DE,#0C20 ;yx. y=0..1F, x=0..4F ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫
|
||||
LD BC,#050E ;yx. ¤«¨ ¨ ¢ëá®â «¨¨¨
|
||||
CALL PBORDER
|
||||
CALL setFRAME.single
|
||||
LD DE,#0C20 ;yx. y=0..1F, x=0..4F ª®®à¤¨ âë «¥¢®£® ¢¥à奣® 㣫
|
||||
LD BC,#050E ;yx. ¤«¨ ¨ ¢ëá®â «¨¨¨
|
||||
CALL PBORDER
|
||||
|
||||
;------------------[v]
|
||||
; ‚Ž’ ’“’ ŠŽ„
|
||||
; DISPLAY '---------------------Delete me!!!---------------------'
|
||||
; DISPLAY /A, $
|
||||
; DISPLAY '------------------------------------------------------'
|
||||
; for tests
|
||||
; ld hl,#c000
|
||||
; ld de,319
|
||||
; ld b,2
|
||||
; ld a,1
|
||||
; ex af,af'
|
||||
; ld a,#46
|
||||
; ex af,af'
|
||||
; ld c,BIOS.BLK_RD_WR
|
||||
; RST_to_BIOS_18
|
||||
;------------------[^]
|
||||
CALL KEY
|
||||
xor a
|
||||
ld hl,#050E
|
||||
ld de,#0C20
|
||||
ld ix,memBUFFER.Shared
|
||||
JP WIN_RESTORE
|
||||
ENDIF
|
||||
|
||||
CALL KEY
|
||||
xor a
|
||||
ld hl,#050E
|
||||
ld de,#0C20
|
||||
ld ix,memBUFFER.Shared
|
||||
;ld c,BIOS.WIN_RESTORE
|
||||
;JP_to_BIOS
|
||||
;RET
|
||||
JP WIN_RESTORE
|
||||
|
||||
ENDIF
|
||||
setXYpos:
|
||||
JP RESCREEN
|
||||
; setVsinc:
|
||||
; ld a,@CMOS.Cell.ScreenSET
|
||||
; call READCMS
|
||||
; and @CMOS.Cell.ScreenSET.Mask.Sinc
|
||||
; SCF
|
||||
; jr z,.skip ;320
|
||||
; SLA A
|
||||
; .skip: ld a,128+7 ;312
|
||||
; jr nc,.set
|
||||
; dec a ;320
|
||||
; .set:
|
||||
; ld c,BIOS.FN_SYNC
|
||||
; JP_to_BIOS
|
||||
|
||||
setVsinc:
|
||||
ld a,@CMOS.Cell.ScreenSET
|
||||
call READCMS
|
||||
@ -894,15 +853,11 @@ setInt: ld a,@CMOS.Cell.ScreenSET
|
||||
SRA A
|
||||
SRA A
|
||||
SRA A ; byte %00xx0000 --> %000000xx
|
||||
.set: ;ld c,BIOS.FN_SYNC
|
||||
;RST_to_BIOS_18
|
||||
CALL FN_SYNC
|
||||
.set: CALL FN_SYNC
|
||||
|
||||
LD IX,win_descriptor.tab80x32
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
;LD C,BIOS.WIN_OPEN
|
||||
;RST_to_BIOS
|
||||
CALL WIN_OPEN
|
||||
|
||||
ld a,(ITEM)
|
||||
@ -1077,84 +1032,84 @@ DEFVAL: DB SAVERAM+EXTBIOS+SDELAY1 ;X0E - OPTIONS
|
||||
|
||||
_mInfoALIGN 256,0 ; ¢ëà ¢¨¢ ¨¥ ¤à¥á #XX00
|
||||
CMOSARE:
|
||||
DS 14 ;!FIXIT à ᯨá âì âãâ ï祩ª¨ ª¬®á ¨ í⮠ᬥ饨¥ ¬¥âª®© ¯à¨¢ï§ âì ¢¬¥áâ® #0E ¢ SETDEF
|
||||
DS 14 ;!FIXIT à ᯨá âì âãâ ï祩ª¨ ª¬®á ¨ í⮠ᬥ饨¥ ¬¥âª®© ¯à¨¢ï§ âì ¢¬¥áâ® #0E ¢ SETDEF
|
||||
|
||||
DB SAVERAM+EXTBIOS ;X0E - OPTIONS
|
||||
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
||||
DB SDIDE1+ASDFDD2 ;X10 - SYSTEM DISKS
|
||||
DB FD1720+FD2720+HD1AUTO+HD2AUTO ;X11 - FDD & HDD
|
||||
DB 0 ;X12 - CYLINDERS LOW MASTER
|
||||
DB 0 ;X13 - CYLINDERS HIGH MASTER
|
||||
DB 0 ;X14 - HEADS MASTER
|
||||
DB 0 ;X15 - SECTORS MASTER
|
||||
DB 0 ;X16 - CYLINDERS LOW SLAVE
|
||||
DB 0 ;X17 - CYLINDERS HIGH SLAVE
|
||||
DB 0 ;X18 - HEADS SLAVE
|
||||
DB 0 ;X19 - SECTORS SLAVE
|
||||
DB 0 ;X1A - Int conf, Screen sync, COLOR STYLE
|
||||
DB TURBON+SPRIN ;X1B - HARDARE CONF
|
||||
DB SAVERAM+EXTBIOS ;X0E - OPTIONS
|
||||
DB TDL250+TRATE30 ;X0F - KEYBOARD
|
||||
DB SDIDE1+ASDFDD2 ;X10 - SYSTEM DISKS
|
||||
DB FD1720+FD2720+HD1AUTO+HD2AUTO ;X11 - FDD & HDD
|
||||
DB 0 ;X12 - CYLINDERS LOW MASTER
|
||||
DB 0 ;X13 - CYLINDERS HIGH MASTER
|
||||
DB 0 ;X14 - HEADS MASTER
|
||||
DB 0 ;X15 - SECTORS MASTER
|
||||
DB 0 ;X16 - CYLINDERS LOW SLAVE
|
||||
DB 0 ;X17 - CYLINDERS HIGH SLAVE
|
||||
DB 0 ;X18 - HEADS SLAVE
|
||||
DB 0 ;X19 - SECTORS SLAVE
|
||||
DB 0 ;X1A - Int conf, Screen sync, COLOR STYLE
|
||||
DB TURBON+SPRIN ;X1B - HARDARE CONF
|
||||
DB BAS128 ;X1C - RESET MODE
|
||||
DB REBOOTM ;X1D - REBOOT MSG, HDD W/P
|
||||
DB %00000000 ;X1E - TRDOS
|
||||
DB %01110111 ;X1F - SCREEN POSITION
|
||||
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
||||
DB %00000000 ;X21
|
||||
DB %00000000 ;X22
|
||||
DB %00000000 ;X23
|
||||
DB %00000000 ;X24
|
||||
DB %00000000 ;X25
|
||||
DB %00000000 ;X26
|
||||
DB %00000000 ;X27
|
||||
DB %00000000 ;X28
|
||||
DB %00000000 ;X29
|
||||
DB %00000000 ;X2A
|
||||
DB %00000000 ;X2B
|
||||
DB %00000000 ;X2C
|
||||
DB %00000000 ;X2D
|
||||
DB %00000000 ;X2E
|
||||
DB %00000000 ;X2F
|
||||
DB %00000000 ;X30
|
||||
DB %00000000 ;X31
|
||||
DB %0000'0000 ;X1E - TRDOS
|
||||
DB %0111'0111 ;X1F - SCREEN POSITION
|
||||
DB HD1AUTO+HD2AUTO ;X20 - Secondary HDD's
|
||||
DB %0000'0000 ;X21
|
||||
DB %0000'0000 ;X22
|
||||
DB %0000'0000 ;X23
|
||||
DB %0000'0000 ;X24
|
||||
DB %0000'0000 ;X25
|
||||
DB %0000'0000 ;X26
|
||||
DB %0000'0000 ;X27
|
||||
DB %0000'0000 ;X28
|
||||
DB %0000'0000 ;X29
|
||||
DB %0000'0000 ;X2A
|
||||
DB %0000'0000 ;X2B
|
||||
DB %0000'0000 ;X2C
|
||||
DB %0000'0000 ;X2D
|
||||
DB %0000'0000 ;X2E
|
||||
DB %0000'0000 ;X2F
|
||||
DB %0000'0000 ;X30
|
||||
DB %0000'0000 ;X31
|
||||
DB #20 ;X32 - CENTURY
|
||||
DB %00000000 ;X33
|
||||
DB %00000000 ;X34
|
||||
DB %00000000 ;X35
|
||||
DB %00000000 ;X36
|
||||
DB %00000000 ;X37
|
||||
DB %00000000 ;X38
|
||||
DB %00000000 ;X39
|
||||
DB %00000000 ;X3A
|
||||
DB %00000000 ;X3B
|
||||
DB %00000000 ;X3C
|
||||
DB %00000000 ;X3D
|
||||
DB %00000000 ;X3E
|
||||
DB %00000000 ;X3F - CHECKSUM
|
||||
DB %0000'0000 ;X33
|
||||
DB %0000'0000 ;X34
|
||||
DB %0000'0000 ;X35
|
||||
DB %0000'0000 ;X36
|
||||
DB %0000'0000 ;X37
|
||||
DB %0000'0000 ;X38
|
||||
DB %0000'0000 ;X39
|
||||
DB %0000'0000 ;X3A
|
||||
DB %0000'0000 ;X3B
|
||||
DB %0000'0000 ;X3C
|
||||
DB %0000'0000 ;X3D
|
||||
DB %0000'0000 ;X3E
|
||||
DB %0000'0000 ;X3F - CHECKSUM
|
||||
BLOCK #100 - low $ ; ¤®¡¨¢ª CMOSARE ¤® à §¬¥à ¢ 256 ¡ ©â®¢
|
||||
;DONT MOVE !!! ADDRESS
|
||||
|
||||
|
||||
; !TODO ¢áñ ¯à ¢¨«ì®?
|
||||
;REGISTER #0E
|
||||
; %10000000 - MEMORY TEST
|
||||
; %01000000 - SAVE RAM DISKS
|
||||
; %00100000 - UPDATE BIOS
|
||||
; %00011000 - START DELAY
|
||||
; %00000100 - LANGUAGE
|
||||
; %00000010 - NOT USED
|
||||
; %00000001 - QUICK START
|
||||
; %1000'0000 - MEMORY TEST
|
||||
; %0100'0000 - SAVE RAM DISKS
|
||||
; %0010'0000 - UPDATE BIOS
|
||||
; %0001'1000 - START DELAY
|
||||
; %0000'0100 - LANGUAGE
|
||||
; %0000'0010 - NOT USED
|
||||
; %0000'0001 - QUICK START
|
||||
;REGISTER #0F
|
||||
; %10000000 - TYPEMATIC ON/OFF
|
||||
; %01100000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000
|
||||
; %00011111 - TYPEMATIC RATE
|
||||
; %1000'0000 - TYPEMATIC ON/OFF
|
||||
; %0110'0000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000
|
||||
; %0001'1111 - TYPEMATIC RATE
|
||||
; 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30
|
||||
;REGISTER #10
|
||||
; %00000111 - SYSTEM DISK
|
||||
; %01110000 - ALT SYSTEM DISK
|
||||
; %0000'0111 - SYSTEM DISK
|
||||
; %0111'0000 - ALT SYSTEM DISK
|
||||
;REGISTER #11
|
||||
; %00000011 - FDD FIRST 720 / 1.44 / NONE
|
||||
; %00001100 - FDD SECOND
|
||||
; %00110000 - IDE Primary MASTER AUTO / SETUP / DISABLED
|
||||
; %11000000 - IDE Primary SLAVE -----//------
|
||||
; %0000'0011 - FDD FIRST 720 / 1.44 / NONE
|
||||
; %0000'1100 - FDD SECOND
|
||||
; %0011'0000 - IDE Primary MASTER AUTO / SETUP / DISABLED
|
||||
; %1100'0000 - IDE Primary SLAVE -----//------
|
||||
;REGISTER #12 - CYLINDERS (MASTER)
|
||||
;REGISTER #14 - HEADS (MASTER)
|
||||
;REGISTER #15 - SECTORS (MASTER)
|
||||
@ -1162,19 +1117,19 @@ CMOSARE:
|
||||
;REGISTER #18 - HEADS (SLAVE)
|
||||
;REGISTER #19 - SECTORS (SLAVE)
|
||||
;REGISTER #1A
|
||||
; %00001111 - COLOR STYLE
|
||||
; %00110000 - Frame Int (Default/Pentagon/Scorpion/Original)
|
||||
; %11000000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz)
|
||||
; %0000'1111 - COLOR STYLE
|
||||
; %0011'0000 - Frame Int (Default/Pentagon/Scorpion/Original)
|
||||
; %1100'0000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz)
|
||||
;REGISTER #1B - HARDWARE CONFIGURATION
|
||||
; %00000001 - TURBO MODE (D0..D3 - 6 OR 7)
|
||||
; %00000010 - TURBO EXCHANGE ON/OFF - 1
|
||||
; %00000100 - PORT EXCHANGE ON/OFF - 1
|
||||
; %00011000 - COMPUTER
|
||||
; %0000'0001 - TURBO MODE (D0..D3 - 6 OR 7)
|
||||
; %0000'0010 - TURBO EXCHANGE ON/OFF - 1
|
||||
; %0000'0100 - PORT EXCHANGE ON/OFF - 1
|
||||
; %0001'1000 - COMPUTER
|
||||
; 0-SPRINTER
|
||||
; 1-SPECTRUM 256
|
||||
; 2-PENTAGON 128
|
||||
; 3-OTHER
|
||||
; %11100000 - RESERVED
|
||||
; %1110'0000 - RESERVED
|
||||
;REGISTER #1C - RESET MODE
|
||||
; 0-RESET 128 Basic
|
||||
; 1-RESET 48 Basic & 128 mem
|
||||
@ -1183,19 +1138,19 @@ CMOSARE:
|
||||
; 4-RESET TR-DOS & 48 mem
|
||||
; 5-RESET 48 Basic
|
||||
;REGISTER #1D
|
||||
; %00000010 - Reboot message
|
||||
; %00000001 - HDD Write protect
|
||||
; %0000'0010 - Reboot message
|
||||
; %0000'0001 - HDD Write protect
|
||||
;REGISTER #1E
|
||||
; %00000011 - TR DOS A: Default / FDD / HDD / RMD
|
||||
; %00001100 - TR DOS B: Default / FDD / HDD / RMD
|
||||
; %00110000 - TR DOS C: Default / FDD / HDD / RMD
|
||||
; %11000000 - TR DOS D: Default / FDD / HDD / RMD
|
||||
; %0000'0011 - TR DOS A: Default / FDD / HDD / RMD
|
||||
; %0000'1100 - TR DOS B: Default / FDD / HDD / RMD
|
||||
; %0011'0000 - TR DOS C: Default / FDD / HDD / RMD
|
||||
; %1100'0000 - TR DOS D: Default / FDD / HDD / RMD
|
||||
;REGISTER #1F ;R06
|
||||
; %11110000 - X-Screen position
|
||||
; %00001111 - Y-Screen position
|
||||
; %1111'0000 - X-Screen position
|
||||
; %0000'1111 - Y-Screen position
|
||||
;REGISTER #20
|
||||
; %00110000 - IDE Secondary MASTER AUTO / SETUP / DISABLED
|
||||
; %11000000 - IDE Secondary SLAVE -----//------
|
||||
; %0011'0000 - IDE Secondary MASTER AUTO / SETUP / DISABLED
|
||||
; %1100'0000 - IDE Secondary SLAVE -----//------
|
||||
; .
|
||||
; .
|
||||
;REGISTER #37 - CYLINDERS (MASTER)
|
||||
|
||||
@ -288,17 +288,13 @@ NOWLOGO:
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
|
||||
;LD C,BIOS.WIN_OPEN
|
||||
EI
|
||||
HALT
|
||||
DI
|
||||
;RST_to_BIOS
|
||||
CALL WIN_OPEN
|
||||
|
||||
LD DE,0
|
||||
LD HL,#0920 ;LOGOTYPE SIZE
|
||||
;LD BC,7*256 + BIOS.LP_CLS_WIN
|
||||
;JP_to_BIOS
|
||||
LD B,7
|
||||
JP LP_CLS_WIN
|
||||
|
||||
@ -313,8 +309,6 @@ EASYDLY:
|
||||
LOGOX: LD IX,win_descriptor.tab320x256
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
;LD C,BIOS.WIN_OPEN
|
||||
;RST_to_BIOS
|
||||
CALL WIN_OPEN
|
||||
|
||||
SAFE_PORTY
|
||||
@ -338,8 +332,6 @@ LOGOX: LD IX,win_descriptor.tab320x256
|
||||
; A = 0
|
||||
LD D,A ; SET DESKTOP PALETTE & CURSOR COLORS
|
||||
LD E,A
|
||||
;LD BC,PIC_SET_PAL_FF
|
||||
;RST_to_BIOS
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
|
||||
@ -351,7 +343,7 @@ LOGOX: LD IX,win_descriptor.tab320x256
|
||||
;LD A,1
|
||||
OUT (ROM.SLOT0),A
|
||||
|
||||
LD HL,MAIN_LOGO.Raster ; ç «® ª à⨪¨ ¢ ¡ ª¥ <20>‡“
|
||||
LD HL,MAIN_LOGO.Raster ; ç «® ª à⨪¨ ¢ ¡ ª¥ <20>‡“
|
||||
; CALL DECODE
|
||||
CALL LOGO_TO_SCREEN
|
||||
;
|
||||
@ -374,19 +366,19 @@ win_descriptor:
|
||||
DB 32
|
||||
DB 0
|
||||
DB 0
|
||||
DB %00011011
|
||||
DB %0001'1011
|
||||
DB 0
|
||||
DB 0
|
||||
DB 0
|
||||
.tab320x256:
|
||||
DB 16 ; £®à¨§®â «ìë© à §¬¥à ®ª ¢ § ª®¬¥áâ å
|
||||
DB 9 ; ¢¥à⨪ «ìë© à §¬¥à ¢ § ª®¬¥áâ å
|
||||
DB 0 ; ¯®«®¦¥¨¥ ®ª ¯® £®à¨§®â «¨ íªà ¥
|
||||
DB 0 ; ¯®«®¦¥¨¥ ®ª ¯® ¢¥à⨪ «¨ íªà ¥
|
||||
DB %00100000 ; ०¨¬ § ª®¬¥áâ
|
||||
DB 0 ; ¤®¯®«¨â¥«ìë© à¥¦¨¬ § ª®¬¥áâ
|
||||
DB 8 ; ¯®«®¦¥¨¥ ¯® X ¢ ¯®«¥ £à 䨪¨ (¯® § ª®¬¥áâ ¬)
|
||||
DB 0 ; ¯®«®¦¥¨¥ ¯® Y ¢ ¯®«¥ £à 䨪¨ (¯® § ª®¬¥áâ ¬)
|
||||
DB 16 ; £®à¨§®â «ìë© à §¬¥à ®ª ¢ § ª®¬¥áâ å
|
||||
DB 9 ; ¢¥à⨪ «ìë© à §¬¥à ¢ § ª®¬¥áâ å
|
||||
DB 0 ; ¯®«®¦¥¨¥ ®ª ¯® £®à¨§®â «¨ íªà ¥
|
||||
DB 0 ; ¯®«®¦¥¨¥ ®ª ¯® ¢¥à⨪ «¨ íªà ¥
|
||||
DB %0010'0000 ; ०¨¬ § ª®¬¥áâ
|
||||
DB 0 ; ¤®¯®«¨â¥«ìë© à¥¦¨¬ § ª®¬¥áâ
|
||||
DB 8 ; ¯®«®¦¥¨¥ ¯® X ¢ ¯®«¥ £à 䨪¨ (¯® § ª®¬¥áâ ¬)
|
||||
DB 0 ; ¯®«®¦¥¨¥ ¯® Y ¢ ¯®«¥ £à 䨪¨ (¯® § ª®¬¥áâ ¬)
|
||||
|
||||
|
||||
MACRO _mFADE
|
||||
@ -408,12 +400,10 @@ FADE: XOR A
|
||||
_mFADE
|
||||
; A = 0
|
||||
LD HL,memBUFFER.Shared
|
||||
;LD DE,#0000 ; !HARDCODE & CURSOR COLORS
|
||||
;XOR A
|
||||
LD D,A
|
||||
LD E,A
|
||||
;LD BC,PIC_SET_PAL_FF ; !HARDCODE #EE,#EF
|
||||
;RST_to_BIOS
|
||||
; !HARDCODE & CURSOR COLORS. LD DE,#0000
|
||||
LD D,A
|
||||
LD E,A
|
||||
;
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
|
||||
@ -434,8 +424,6 @@ go_setup: ; !FIXIT
|
||||
LD IX,win_descriptor.tab80x32
|
||||
LD HL,#0000
|
||||
LD E,1
|
||||
;LD C,BIOS.WIN_OPEN
|
||||
;RST_to_BIOS
|
||||
CALL WIN_OPEN
|
||||
JP CSETUP
|
||||
|
||||
@ -531,24 +519,18 @@ SET_CGA:
|
||||
LD A,4 ; page_pal
|
||||
LD HL,memBUFFER.Shared
|
||||
LD DE,#0000 ; D - ELEMENTS,E - COLOR
|
||||
;LD BC,PIC_SET_PAL_FF ; #FFA4
|
||||
;RST_to_BIOS
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
|
||||
LD A,6 ; page_pal
|
||||
LD HL,memBUFFER.Shared
|
||||
LD DE,#0000 ;D - ELEMENTS,E - COLOR
|
||||
;LD BC,PIC_SET_PAL_FF ; #FFA4
|
||||
;RST_to_BIOS
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
|
||||
LD A,7 ; page_pal
|
||||
LD HL,#80*4+memBUFFER.Shared
|
||||
LD DE,#8080 ;D - ELEMENTS,E - COLOR
|
||||
;LD BC,PIC_SET_PAL_FF ; #FFA4
|
||||
;RST_to_BIOS
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
;
|
||||
@ -557,16 +539,12 @@ SET_CGA:
|
||||
LD A,5 ; page_pal
|
||||
LD HL,memBUFFER.Shared
|
||||
LD DE,#0000 ;D - ELEMENTS,E - COLOR
|
||||
;LD BC,PIC_SET_PAL_FF ; #FFA4
|
||||
;RST_to_BIOS
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
|
||||
LD A,7 ; page_pal
|
||||
LD HL,memBUFFER.Shared
|
||||
LD DE,#8000 ;D - ELEMENTS,E - COLOR
|
||||
;LD BC,PIC_SET_PAL_FF ; #FFA4
|
||||
;RST_to_BIOS
|
||||
LD B,def_pal_mask
|
||||
CALL PIC_SET_PAL
|
||||
;
|
||||
|
||||
@ -144,7 +144,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF ; ⨯ ¯ à ¬¥âà (áâப á® § 票¥¬ ¨«¨ ª â «®£)
|
||||
DB columnNum,lineNum ; á⮫¡¥æ, áâப
|
||||
DB paramName ; <20> §¢ ¨¥ ¯ à ¬¥âà
|
||||
DB #0E,%00000100,%00000100 ; CMOS, MASK
|
||||
DB #0E,%0000'0100,%0000'0100 ; CMOS, MASK
|
||||
DB msgStrings.valLangEng ; 1-© ¢ ਠ⠯ à ¬¥âà
|
||||
DB msgStrings.valLangRus ; 2-© ¢ ਠ⠯ à ¬¥âà
|
||||
|
||||
@ -153,7 +153,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0E,%10000000,%10000000
|
||||
DB #0E,%1000'0000,%1000'0000
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valEnabled
|
||||
|
||||
@ -162,7 +162,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0E,%01000000,%01000000
|
||||
DB #0E,%0100'0000,%0100'0000
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valEnabled
|
||||
|
||||
@ -171,7 +171,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0E,%00100000,%00100000
|
||||
DB #0E,%0010'0000,%0010'0000
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valEnabled
|
||||
|
||||
@ -180,7 +180,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0E,%00011000,%00010000
|
||||
DB #0E,%0001'1000,%0001'0000
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valNormal
|
||||
DB msgStrings.valEnabled
|
||||
@ -190,7 +190,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0F,%00000111,%00000111
|
||||
DB #0F,%0000'0111,%0000'0111
|
||||
DB msgStrings.val_6
|
||||
DB msgStrings.val_8
|
||||
DB msgStrings.val_10
|
||||
@ -205,7 +205,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0F,%01100000,%01100000
|
||||
DB #0F,%0110'0000,%0110'0000
|
||||
DB msgStrings.val_250
|
||||
DB msgStrings.val_500
|
||||
DB msgStrings.val_750
|
||||
@ -216,7 +216,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1D,%00000010,%00000010
|
||||
DB #1D,%0000'0010,%0000'0010
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valEnabled
|
||||
|
||||
@ -225,7 +225,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #10,%00000111,%00000111 ; !!!!!
|
||||
DB #10,%0000'0111,%0000'0111 ; !!!!!
|
||||
DB msgStrings.val1stFDD
|
||||
DB msgStrings.val2ndFDD
|
||||
DB msgStrings.val1stIDE
|
||||
@ -240,7 +240,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #10,%01110000,%01110000
|
||||
DB #10,%0111'0000,%0111'0000
|
||||
DB msgStrings.val1stFDD
|
||||
DB msgStrings.val2ndFDD
|
||||
DB msgStrings.val1stIDE
|
||||
@ -255,7 +255,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #11,%00000011,%00000000
|
||||
DB #11,%0000'0011,%0000'0000
|
||||
DB msgStrings.valAuto
|
||||
; DB msgStrings.val720
|
||||
; DB msgStrings.val1440
|
||||
@ -266,7 +266,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #11,%00001100,%00000000
|
||||
DB #11,%0000'1100,%0000'0000
|
||||
DB msgStrings.valAuto
|
||||
; DB msgStrings.val720
|
||||
; DB msgStrings.val1440
|
||||
@ -277,7 +277,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #11,%00110000,%00110000
|
||||
DB #11,%0011'0000,%0011'0000
|
||||
DB msgStrings.valAuto
|
||||
DB msgStrings.valSetup
|
||||
DB msgStrings.valCdRom
|
||||
@ -288,7 +288,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #11,%11000000,%11000000
|
||||
DB #11,%1100'0000,%1100'0000
|
||||
DB msgStrings.valAuto
|
||||
DB msgStrings.valSetup
|
||||
DB msgStrings.valCdRom
|
||||
@ -299,7 +299,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #20,%00110000,%00110000
|
||||
DB #20,%0011'0000,%0011'0000
|
||||
DB msgStrings.valAuto
|
||||
DB msgStrings.valSetup
|
||||
DB msgStrings.valCdRom
|
||||
@ -310,7 +310,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #20,%11000000,%11000000
|
||||
DB #20,%1100'0000,%1100'0000
|
||||
DB msgStrings.valAuto
|
||||
DB msgStrings.valSetup
|
||||
DB msgStrings.valCdRom
|
||||
@ -321,7 +321,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1D,%00000001,%00000001
|
||||
DB #1D,%0000'0001,%0000'0001
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valEnabled
|
||||
|
||||
@ -330,7 +330,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1F,%11110000,%11100000
|
||||
DB #1F,%1111'0000,%1110'0000
|
||||
DB msgStrings.valMinus7
|
||||
DB msgStrings.valMinus6
|
||||
DB msgStrings.valMinus5
|
||||
@ -352,7 +352,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1F,%00001111,%00001110
|
||||
DB #1F,%0000'1111,%0000'1110
|
||||
DB msgStrings.valPlus7
|
||||
DB msgStrings.valPlus6
|
||||
DB msgStrings.valPlus5
|
||||
@ -374,7 +374,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1A,%00110000,%00110000
|
||||
DB #1A,%0011'0000,%0011'0000
|
||||
DB msgStrings.valDash8
|
||||
DB msgStrings.valScorpion
|
||||
DB msgStrings.valPentagon
|
||||
@ -385,7 +385,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1A,%11000000,%10000000
|
||||
DB #1A,%1100'0000,%1000'0000
|
||||
DB msgStrings.valDash8
|
||||
DB msgStrings.val312_50
|
||||
DB msgStrings.val320_49
|
||||
@ -395,7 +395,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #0E,%00000001,%00000001
|
||||
DB #0E,%0000'0001,%0000'0001
|
||||
DB msgStrings.valDisabled
|
||||
DB msgStrings.valEnabled
|
||||
|
||||
@ -404,7 +404,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1E,%00000011,%00000010
|
||||
DB #1E,%0000'0011,%0000'0010
|
||||
DB msgStrings.valDefault
|
||||
DB msgStrings.valFDD
|
||||
DB msgStrings.valHDD
|
||||
@ -414,7 +414,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1E,%00001100,%00001000
|
||||
DB #1E,%0000'1100,%0000'1000
|
||||
DB msgStrings.valDefault
|
||||
DB msgStrings.valFDD
|
||||
DB msgStrings.valHDD
|
||||
@ -424,7 +424,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1E,%00110000,%00100000
|
||||
DB #1E,%0011'0000,%0010'0000
|
||||
DB msgStrings.valDefault
|
||||
DB msgStrings.valFDD
|
||||
DB msgStrings.valHDD
|
||||
@ -434,7 +434,7 @@ SettingsItemsTabs:
|
||||
IF NEW_FEATURE : DB paramLine : ENDIF
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #1E,%11000000,%10000000
|
||||
DB #1E,%1100'0000,%1000'0000
|
||||
DB msgStrings.valDefault
|
||||
DB msgStrings.valFDD
|
||||
DB msgStrings.valHDD
|
||||
@ -445,7 +445,7 @@ SettingsItemsTabs:
|
||||
DB folderLine
|
||||
DB columnNum,lineNum
|
||||
DB paramName
|
||||
DB #00,%00000000,%00000000
|
||||
DB #00,%0000'0000,%0000'0000
|
||||
DB msgStrings.valFolder
|
||||
ENDIF
|
||||
;--------------------[Items Addresses table]--------------------[]
|
||||
|
||||
245
src/bios/rom/ZX/ZX_FUNC.ASM
Normal file
245
src/bios/rom/ZX/ZX_FUNC.ASM
Normal file
@ -0,0 +1,245 @@
|
||||
; ‚室 ç¥à¥§ USR 15600
|
||||
ASSERT $ = #C0, "Error with RET_FROM_BIOS_TO_BASIC48 address!!!"
|
||||
RET_FROM_BIOS_TO_BASIC48:
|
||||
CALL CH_2
|
||||
CALL COMAND_LINE ; ‚›<E2809A>Ž‹<C5BD>…<EFBFBD>ˆ… ŠŽŒ€<C592>„›, …‘‹ˆ …‘’œ
|
||||
; ‚室 ¡¥§ ª®¬ ¤ë
|
||||
JP SW_ROM_1 ; ‚އ‚<E280A1>€’ ‚ << MAIN MENU >>
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
|
||||
;
|
||||
;----------------------------[ ??????????? ]----------------------------;
|
||||
; TURBO_OFF:
|
||||
; LD A,D_TBOFF
|
||||
; OUT (SYS_PORT.ON),A
|
||||
; RET
|
||||
;
|
||||
; TURBO_ON:
|
||||
; LD A,D_TBON
|
||||
; OUT (SYS_PORT.ON),A
|
||||
; RET
|
||||
;
|
||||
; JP_HL: JP (HL)
|
||||
;
|
||||
;PRINT_LINE:
|
||||
; LD A,(HL)
|
||||
; INC HL
|
||||
; CP 0FFh
|
||||
; RET Z
|
||||
; RST 10H
|
||||
; JR PRINT_LINE
|
||||
;
|
||||
; JP RESET_128
|
||||
;-----------------------------------------------------------------------;
|
||||
;
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
; ******* SERVICE *******
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;------[ „…˜ˆ”<CB86>€–ˆŸ ŠŽŒ€<C592>„<EFBFBD>މ ‘’<E28098>ŽŠˆ,<2C>…<EFBFBD>…„€<E2809E><E282AC>މ „‹Ÿ "EXPANSION" ]-------;
|
||||
COMAND_LINE:
|
||||
LD HL,(#5C5D) ;!HARDCODE CH_ADR
|
||||
COMAND_LOOP:
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP ":"
|
||||
JR Z,COMAND_L1
|
||||
CP #0D
|
||||
JR NZ,COMAND_LOOP
|
||||
RET
|
||||
|
||||
COMAND_L1:
|
||||
LD A,(HL)
|
||||
CP #EA ;!HARDCODE
|
||||
RET NZ
|
||||
INC HL
|
||||
COMAND_OK: ; Ž<><C5BD>€<EFBFBD>“†…<E280A0>€ ŠŽŒ€<C592>„€ „‹Ÿ 'expansion'
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP ':'
|
||||
JP Z,MENU_S1
|
||||
CP #0D
|
||||
JP Z,MENU_S1
|
||||
CP 'I'
|
||||
JR Z,COMAND_ISD
|
||||
CP 'i'
|
||||
JR Z,COMAND_ISD
|
||||
CP 'T'
|
||||
JR Z,TASK_SWITCH
|
||||
CP 't'
|
||||
JR Z,TASK_SWITCH
|
||||
DEC HL
|
||||
POP BC
|
||||
JP BASIC_MENU
|
||||
MENU_S1:
|
||||
POP BC
|
||||
CALL SERVICE
|
||||
JP SW_ROM_1
|
||||
|
||||
COMAND_ISD:
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP 'S'
|
||||
JP Z,COMAND_ISD2
|
||||
CP 's'
|
||||
JP Z,COMAND_ISD2
|
||||
RET
|
||||
|
||||
COMAND_ISD2:
|
||||
POP BC
|
||||
CALL ISDOS
|
||||
JP SW_ROM_1
|
||||
|
||||
|
||||
TASK_SWITCH:
|
||||
; *** ‘®åà ¨âì § ¤ çã ***
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
EXX
|
||||
EX AF,AF'
|
||||
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
|
||||
LD A,R
|
||||
PUSH AF
|
||||
LD A,I
|
||||
PUSH AF
|
||||
|
||||
LD A,(HL)
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
RLCA
|
||||
AND 30H ; ®¢ ï § ¤ ç 0..3
|
||||
LD C,A
|
||||
|
||||
IN A,(SLOT3)
|
||||
LD B,A ; 3-ï áâà ¨æ ⥪ã饩 § ¤ ç¨
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD IX,SYS_PAGE.TASK_DATA ; ¤ ë¥ § ¤ ç
|
||||
LD E,(IX) ; áâ à ï § ¤ ç
|
||||
LD D,0
|
||||
ADD IX,DE ; ¤ ë¥ â¥ªã饩 § ¤ ç¨
|
||||
LD E,16
|
||||
ADD IX,DE ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||
|
||||
LD (IX+1),B ; á®åà ¨âì áâà ¨æã 3
|
||||
LD HL,0
|
||||
ADD HL,SP
|
||||
LD (IX+2),L ; á®åà ¨âì á⥪ § ¤ ç¨
|
||||
LD (IX+3),H
|
||||
SET 0,(IX) ; ãáâ ®¢¨âì ä« £ á®åà ¥®á⨠⥪ã饩 § ¤ ç¨
|
||||
RES 1,(IX) ; ãáâ ®¢¨âì ä« £, çâ® § ¤ ç ¯®ª¨ãâ
|
||||
|
||||
LD IX,SYS_PAGE.TASK_DATA
|
||||
LD E,C
|
||||
LD D,0
|
||||
ADD IX,DE ; ®¢ ï § ¤ ç
|
||||
LD E,16
|
||||
ADD IX,DE ; ᬥ饨¥ ¤ ëå ¢ â ¡«¨æ¥ § ¤ ç
|
||||
|
||||
BIT 1,(IX)
|
||||
; JR NZ,TASK_IN_WORK ; § ¤ ç ¢ à ¡®â¥ ??? ¥¢¥à®¥ § ¢¥à襨¥
|
||||
; á¡à áë¢ âì ¨«¨ ¯à®áâ® ¢®§¢à é âìáï
|
||||
|
||||
BIT 0,(IX) ; ¡ë« á®åà ¥ /¥â
|
||||
JR NZ,TASK_SET ; § ¤ ç áãé¥áâ¢ã¥â
|
||||
|
||||
; § ¤ ç¨ ¥ ¡ë«®!
|
||||
LD IX,SYS_PAGE.TASK_DATA
|
||||
LD A,C ; § ¤ ç
|
||||
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
||||
|
||||
JP SPECTRUM_TASK ; § ¯ãáâ¨âì ®¢ãî § ¤ çã!
|
||||
; ¨ ¯®ª ¯®ä¨£ à á¯à¥¤¥«¥¨¥ ¯ ¬ïâ¨!
|
||||
|
||||
TASK_SET:
|
||||
LD IX,TASK_RESTORE
|
||||
LD A,C
|
||||
EXX
|
||||
JP INIT_PAGES ; ¯¥à¥ª«îç¨âì ¢á¥ áâà ¨æë!
|
||||
|
||||
TASK_RESTORE:
|
||||
EXX
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
LD IX,SYS_PAGE.TASK_DATA
|
||||
LD (IX),A ; ãáâ ®¢¨âì ®¢ãî § ¤ çã ⥪ã饩
|
||||
|
||||
LD E,A
|
||||
LD D,0
|
||||
ADD IX,DE ; ®¢ ï § ¤ ç
|
||||
LD E,16
|
||||
ADD IX,DE
|
||||
|
||||
LD L,(IX+2) ; ¢á¯®¬¨âì á⥪
|
||||
LD H,(IX+3)
|
||||
LD SP,HL
|
||||
LD A,(IX+1) ; ¢á¯®¬¨âì âà¥âìî áâà ¨æã
|
||||
OUT (SLOT3),A
|
||||
|
||||
|
||||
POP AF ; ¢®ááâ ®¢¨âì
|
||||
LD I,A
|
||||
POP AF
|
||||
LD R,A
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
POP AF
|
||||
EX AF,AF'
|
||||
EXX
|
||||
POP HL
|
||||
POP DE
|
||||
POP BC
|
||||
POP AF
|
||||
POP IX
|
||||
POP IY
|
||||
; ¢¥àãâìáï ¢ § ¤ çã
|
||||
|
||||
NO_TASK:
|
||||
POP BC
|
||||
JP SW_ROM_1
|
||||
|
||||
; 259F - ADRESS BASIC128 - MAIN_MENU
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
; *** UTILITES ***
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
; C_0030: ; ¯®«ãç¨âì à ¡ ®¡«
|
||||
; CALL_48X 0030h
|
||||
; RET
|
||||
C_19E8: ; ®ç¨áâ¨âì à ¡ ®¡«
|
||||
CALL_48X #19E8 ;!HARDCODE
|
||||
RET
|
||||
C_1655: ; ¯®«ãç¨âì ¯à®áâà á⢮
|
||||
CALL_48X #1655 ;!HARDCODE
|
||||
RET
|
||||
CLS:
|
||||
C_0D6B: CALL_48 #0D6B ;!HARDCODE
|
||||
RET
|
||||
CH_2: LD A,2
|
||||
C_1601: ; OPEN CHANEL
|
||||
CALL_48 #1601 ;!HARDCODE
|
||||
RET
|
||||
;
|
||||
@ -352,4 +352,401 @@ CALL_DOS:
|
||||
POP HL
|
||||
JP DOS_PROG.Exec
|
||||
;
|
||||
;
|
||||
|
||||
;=======================================================================;
|
||||
;=======================================================================;
|
||||
;=======================================================================;
|
||||
SERVICE:
|
||||
//LD HL,SR_TAB
|
||||
LD DE,SR_MENU
|
||||
LD BC,SR_MENU.Size
|
||||
//PUSH HL
|
||||
CALL RUN_MENU ;09f3
|
||||
LD HL,SR_TAB
|
||||
//POP HL
|
||||
CALL EXEC_PNT
|
||||
JR SERVICE
|
||||
|
||||
SR_TAB: DW UTILIT
|
||||
DW GOTO_TRDOS.m128
|
||||
DW GOTO_TRDOS.m48
|
||||
DW TURBO_OFF
|
||||
DW TURBO_ON
|
||||
DW CLEAR_RAM
|
||||
DW RET_FROM_M
|
||||
|
||||
; DC - every last character of a string will have bit 7 set
|
||||
SR_MENU:
|
||||
BYTE 8 ; ª®«¨ç¥á⢮ ¯ãªâ®¢
|
||||
BYTE 'Options ',#FF ; § £®«®¢®ª ¬¥î
|
||||
DC 'RUN disk.trd'
|
||||
DC '128 TR-DOS'
|
||||
DC '48 TR-DOS'
|
||||
DC 'TURBO OFF '
|
||||
DC 'TURBO ON '
|
||||
DC 'Clear RAM'
|
||||
DC 'RETURN'
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
.Size EQU $-SR_MENU
|
||||
|
||||
;*****************************
|
||||
|
||||
;SR_48R:
|
||||
GOTO_TRDOS:
|
||||
.m128: LD A,#10
|
||||
JR .RUN
|
||||
;SR_48:
|
||||
.m48: LD A,#30 ; ‘⮯®à PORT_128 !!!
|
||||
;SR_48A:
|
||||
.RUN: LD BC,#7FFD
|
||||
OUT (C),A
|
||||
LD BC,0 ; <20>€ 0 !!
|
||||
PUSH BC
|
||||
LD BC,#3D2F ; ‚ DOS !
|
||||
PUSH BC
|
||||
JP SW_ROM
|
||||
|
||||
;*******************************
|
||||
TURBO_OFF:
|
||||
LD A,BIOS.FN_TURBO.OFF
|
||||
LD C,BIOS.FN_TURBO
|
||||
JP_to_BIOS
|
||||
TURBO_ON:
|
||||
LD A,BIOS.FN_TURBO.ON
|
||||
LD C,BIOS.FN_TURBO
|
||||
JP_to_BIOS
|
||||
|
||||
;*******************************
|
||||
|
||||
CLEAR_RAM:
|
||||
DI
|
||||
LD C,BIOS.FullInit
|
||||
RST_to_BIOS
|
||||
; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥î ᯥªâà㬠¢®§¢à â ¢ DSS ¯® CAD
|
||||
; ¡ã¤¥â ®¯ áë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì),
|
||||
; ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â .
|
||||
;!TODO ¯à¨¤ã¬ âì ª ª ®âª«îç âì ¯¥à¥å¢ â ⮫쪮 ¢®§¢à â ¢ DSS
|
||||
LD A,ACEX.RET_PORT
|
||||
LD BC,BIOS.SET_PORTS
|
||||
CALL ToBIOS_3D13
|
||||
EI
|
||||
RET
|
||||
|
||||
;SR_CL_MEM:
|
||||
; DI
|
||||
; LD A,10H
|
||||
;SR_CL_R2:
|
||||
; LD BC,1FFDH
|
||||
; OUT (C),A
|
||||
; EX AF,AF'
|
||||
; XOR A
|
||||
;SR_CL_R1:
|
||||
; LD BC,7FFDH
|
||||
; OUT (C),A
|
||||
; LD HL,0C000H
|
||||
; LD DE,0C001H
|
||||
; LD BC,03FFFH
|
||||
; LD (HL),L
|
||||
; LDIR
|
||||
; INC A
|
||||
; CP 48H
|
||||
; JR NZ,SR_CL_R1
|
||||
; EX AF,AF'
|
||||
; CP 0
|
||||
; JP Z,BASIC_128 ; ¢ë室 á¡à®á BASIC 128
|
||||
; LD A,0
|
||||
; JR SR_CL_R2
|
||||
|
||||
;*****************************
|
||||
; *** MENU IS-DOS ***
|
||||
;*****************************
|
||||
|
||||
ISDOS:
|
||||
LD HL,IS_TAB
|
||||
LD DE,IS_MENU
|
||||
LD BC,IS_MENU.Size
|
||||
PUSH HL
|
||||
CALL RUN_MENU
|
||||
POP HL
|
||||
CALL EXEC_PNT
|
||||
JR ISDOS
|
||||
|
||||
IS_TAB:
|
||||
; DW TR_DOS
|
||||
; DW SP_DOS
|
||||
DW SPRINTER_1X
|
||||
DW AY8910_X
|
||||
DW PENTAGON
|
||||
DW SCORPION
|
||||
DW PENTAGON512
|
||||
DW SPRINTER_reset ;SPRINTER_2X
|
||||
DW RET_FROM_M
|
||||
|
||||
; DC - every last character of a string will have bit 7 set
|
||||
IS_MENU:
|
||||
BYTE 8 ; ª®«¨ç¥á⢮ ¯ãªâ®¢
|
||||
BYTE 'Hardware',#FF ; § £®«®¢®ª ¬¥î
|
||||
DC 'Sprinter ZX '
|
||||
DC 'ZX Spectrum'
|
||||
DC 'Pentagon 128'
|
||||
DC 'Scorpion 256'
|
||||
DC 'Pentagon 512'
|
||||
DC 'Restart '
|
||||
DC 'RETURN'
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
.Size EQU $-IS_MENU
|
||||
|
||||
;******************************
|
||||
;SP_DOS:
|
||||
; LD B,0E2H
|
||||
; LD A,0E1H
|
||||
; JR TR_DOS1
|
||||
;TR_DOS:
|
||||
; LD B,0EAH
|
||||
; LD A,0E1H
|
||||
;TR_DOS1:
|
||||
; CALL DOS_ON
|
||||
; CALL SET_ROM_PAGES
|
||||
; CALL DOS_OFF
|
||||
; RET
|
||||
;******************************
|
||||
|
||||
|
||||
;**************************************************
|
||||
;Sprinter ZX
|
||||
SPRINTER_1X:
|
||||
CALL _SET_CNF
|
||||
LD C,BIOS.RST_CONF.SP97_1
|
||||
RST_to_BIOS
|
||||
CALL CNF_PN_320
|
||||
LD L,2 ;FN_SYNC.INT_PENT
|
||||
JR 1F ;!FIXIT ¬¥âªã ¯à¨¤ã¬ âì
|
||||
;
|
||||
;ZX Spectrum
|
||||
AY8910_X:
|
||||
CALL _SET_CNF
|
||||
LD C,BIOS.RST_CONF.AY8910
|
||||
RST_to_BIOS
|
||||
|
||||
LD A,#FA ; no ACC, Original waits
|
||||
LD (Port_All_Mode),A
|
||||
|
||||
CALL CNF_SC_312
|
||||
LD L,3 ;FN_SYNC.INT_ORIG
|
||||
1: LD DE,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
CALL CONFIG_SET
|
||||
CALL CLS ;!FIXIT 㦮 «¨?
|
||||
RET
|
||||
;
|
||||
|
||||
SCORPION:
|
||||
CALL _SET_CNF
|
||||
CALL CNF_SC_312
|
||||
LD L,1 ;FN_SYNC.INT_SCORP
|
||||
LD DE,CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON
|
||||
JR CONFIG_SET
|
||||
|
||||
PENTAGON:
|
||||
CALL _SET_CNF
|
||||
CALL CNF_PN_320
|
||||
LD L,2 ;FN_SYNC.INT_PENT
|
||||
LD DE,CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON
|
||||
JR CONFIG_SET
|
||||
|
||||
PENTAGON512:
|
||||
CALL _SET_CNF
|
||||
CALL CNF_PN_320
|
||||
LD L,2 ;FN_SYNC.INT_PENT
|
||||
LD DE,CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512
|
||||
; JR CONFIG_SET
|
||||
CONFIG_SET:
|
||||
PUSH DE
|
||||
|
||||
EI
|
||||
HALT
|
||||
DI
|
||||
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD (SYS_PAGE.CONFIG_DE),DE
|
||||
;!FIXIT ¥áâì «¨ á¬ëá« ¤¥« âì ¤® FN_SYNC?
|
||||
LD A,(ZX_VARS.BORDER)
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
AND 7
|
||||
OUT (BorderColor),A
|
||||
;
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD A,L
|
||||
LD C,BIOS.FN_SYNC
|
||||
RST_to_BIOS
|
||||
|
||||
LD HL,#4104 ;!HARDCODE
|
||||
LD E,0
|
||||
LD BC,256*4 + BIOS.LP_OPEN_S ;!HARDCODE
|
||||
RST_to_BIOS
|
||||
|
||||
LD HL,#5104 ;!HARDCODE
|
||||
LD E,0
|
||||
LD BC,256*4 + BIOS.LP_OPEN_S
|
||||
RST_to_BIOS
|
||||
|
||||
POP DE
|
||||
LD A,E
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
IM 1
|
||||
EI
|
||||
RET
|
||||
|
||||
SPRINTER_reset:
|
||||
CALL _SET_CNF
|
||||
LD BC,256*BIOS.REINIT.SOFT_RESET + BIOS.REINIT
|
||||
JP_to_BIOS
|
||||
|
||||
_SET_CNF:
|
||||
DI
|
||||
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
OUT (SYS_PORT.ROM),A
|
||||
RET
|
||||
|
||||
CNF_SC_312:
|
||||
LD A,Port_VSYNC.SET_312L
|
||||
OUT (Port_VSYNC),A
|
||||
RET
|
||||
|
||||
CNF_PN_320:
|
||||
LD A,Port_VSYNC.SET_320L
|
||||
OUT (Port_VSYNC),A
|
||||
RET
|
||||
|
||||
; LD A,CNF_0
|
||||
; OUT (SYS_PORT.ROM),A
|
||||
; CALL DOS_OFF
|
||||
; JP 0
|
||||
|
||||
;*****************************
|
||||
; *** MENU UTILITES ***
|
||||
;*****************************
|
||||
;!FIXIT íâ® § ¯ã᪠c:\disk.trd - ¥ ¤ã¬ î, çâ® í⮠㦮, ¬®¦® § ¬¥¨âì
|
||||
UTILIT:
|
||||
LD HL,C_DISK_C
|
||||
CALL CALL_DOS1
|
||||
|
||||
;!TEST
|
||||
;CALL DOS_ON
|
||||
;LD A,0 ; DETECT_HDD
|
||||
;CALL EXP_HDD
|
||||
LD C,BIOS.HDD_INIT
|
||||
RST_to_BIOS
|
||||
;CALL DOS_OFF
|
||||
;
|
||||
|
||||
JR C,DISK_UTILIT
|
||||
|
||||
LD HL,C_DISK_C3
|
||||
CALL CALL_DOS1
|
||||
|
||||
UTIL_DISK:
|
||||
XOR A
|
||||
;!TEST
|
||||
LD C,BIOS.FreeMemRMD
|
||||
RST_to_BIOS
|
||||
;CALL EMM_FN3 ;!!!!! ç¥à¥§ RST_to_BIOS EMM.FreeMemRMD
|
||||
;
|
||||
|
||||
LD HL,C_DEMO6
|
||||
CALL CALL_DOS1
|
||||
|
||||
XOR A
|
||||
;!TEST
|
||||
LD C,BIOS.GET_RAMD_ST
|
||||
RST_to_BIOS
|
||||
;CALL GET_RAMD_ST
|
||||
;
|
||||
|
||||
JR C,UTIL_DISK_L1
|
||||
JR Z,UTIL_DISK_L1
|
||||
|
||||
LD HL,C_DISK_C1
|
||||
CALL CALL_DOS1
|
||||
LD HL,C_DISK_C2
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
UTIL_DISK_L1:
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
INC A
|
||||
CP 2
|
||||
JR Z,DISK_UTIL_RET
|
||||
LD HL,C_DISK_C5
|
||||
CALL CALL_DOS1
|
||||
JR UTIL_DISK
|
||||
|
||||
DISK_UTIL_RET:
|
||||
LD HL,C_DISK_C6
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
DISK_UTILIT:
|
||||
LD HL,C_DISK_C4
|
||||
CALL CALL_DOS1
|
||||
JR UTIL_DISK
|
||||
|
||||
C_DEMO6: DB .Size, ZX_Token.rem, ':/disk.trd', 13,80
|
||||
.Size EQU $-C_DEMO6-1
|
||||
|
||||
;***************************************
|
||||
|
||||
;VERSION: DEFB 22,21,0
|
||||
; DEFB 16,2,"Expansion 3.02 1997 ELSY Co.",16,1,0FFh
|
||||
|
||||
;**********************************************
|
||||
|
||||
DOS_RUN:
|
||||
LD HL,C_DISK_C1
|
||||
CALL CALL_DOS1
|
||||
|
||||
LD HL,C_DISK_C2
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
START_TRD:
|
||||
LD HL,C_DISK_C
|
||||
CALL CALL_DOS1
|
||||
LD HL,C_DISK_C0
|
||||
CALL CALL_DOS1
|
||||
LD HL,C_DISK_C3
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
C_DISK_C: DB .Size, ZX_Token.rem, ':', 13,80
|
||||
.Size EQU $-C_DISK_C-1
|
||||
|
||||
C_DISK_C0: DB .Size, ZX_Token.rem, ':/CLEAR E', 13,80
|
||||
.Size EQU $-C_DISK_C0-1
|
||||
|
||||
C_DISK_C1: DB .Size, ZX_Token.rem, ':/RMD E', 13,80
|
||||
.Size EQU $-C_DISK_C1-1
|
||||
|
||||
C_DISK_C2: DB .Size, ZX_Token.rem, ':RUN', 13,80
|
||||
.Size EQU $-C_DISK_C2-1
|
||||
|
||||
C_DISK_C3: DB .Size, ZX_Token.rem, ':/HDD', 13,80
|
||||
.Size EQU $-C_DISK_C3-1
|
||||
|
||||
C_DISK_C4: DB .Size, ZX_Token.rem, ':/FDD', 13,80
|
||||
.Size EQU $-C_DISK_C4-1
|
||||
|
||||
C_DISK_C5: DB .Size, ZX_Token.rem, ':/B:', 13,80
|
||||
.Size EQU $-C_DISK_C5-1
|
||||
|
||||
C_DISK_C6: DB .Size, ZX_Token.rem, ':/A:', 13,80
|
||||
.Size EQU $-C_DISK_C6-1
|
||||
;
|
||||
395
src/bios/rom/ZX_MODE.ASM
Normal file
395
src/bios/rom/ZX_MODE.ASM
Normal file
@ -0,0 +1,395 @@
|
||||
;.PRINTX "Service."
|
||||
|
||||
SERVICE:
|
||||
//LD HL,SR_TAB
|
||||
LD DE,SR_MENU
|
||||
LD BC,SR_MENU.Size
|
||||
//PUSH HL
|
||||
CALL RUN_MENU ;09f3
|
||||
LD HL,SR_TAB
|
||||
//POP HL
|
||||
CALL EXEC_PNT
|
||||
JR SERVICE
|
||||
|
||||
SR_TAB: DW UTILIT
|
||||
DW GOTO_TRDOS.m128
|
||||
DW GOTO_TRDOS.m48
|
||||
DW TURBO_OFF
|
||||
DW TURBO_ON
|
||||
DW CLEAR_RAM
|
||||
DW RET_FROM_M
|
||||
|
||||
; DC - every last character of a string will have bit 7 set
|
||||
SR_MENU:
|
||||
BYTE 8 ; ª®«¨ç¥á⢮ ¯ãªâ®¢
|
||||
BYTE 'Options ',#FF ; § £®«®¢®ª ¬¥î
|
||||
DC 'RUN disk.trd'
|
||||
DC '128 TR-DOS'
|
||||
DC '48 TR-DOS'
|
||||
DC 'TURBO OFF '
|
||||
DC 'TURBO ON '
|
||||
DC 'Clear RAM'
|
||||
DC 'RETURN'
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
.Size EQU $-SR_MENU
|
||||
|
||||
;*****************************
|
||||
|
||||
;SR_48R:
|
||||
GOTO_TRDOS:
|
||||
.m128: LD A,#10
|
||||
JR .RUN
|
||||
;SR_48:
|
||||
.m48: LD A,#30 ; ‘⮯®à PORT_128 !!!
|
||||
;SR_48A:
|
||||
.RUN: LD BC,#7FFD
|
||||
OUT (C),A
|
||||
LD BC,0 ; <20>€ 0 !!
|
||||
PUSH BC
|
||||
LD BC,#3D2F ; ‚ DOS !
|
||||
PUSH BC
|
||||
JP SW_ROM
|
||||
|
||||
;*******************************
|
||||
TURBO_OFF:
|
||||
LD A,BIOS.FN_TURBO.OFF
|
||||
LD C,BIOS.FN_TURBO
|
||||
JP_to_BIOS
|
||||
TURBO_ON:
|
||||
LD A,BIOS.FN_TURBO.ON
|
||||
LD C,BIOS.FN_TURBO
|
||||
JP_to_BIOS
|
||||
|
||||
;*******************************
|
||||
|
||||
CLEAR_RAM:
|
||||
DI
|
||||
LD C,BIOS.FullInit
|
||||
RST_to_BIOS
|
||||
; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥î ᯥªâà㬠¢®§¢à â ¢ DSS ¯® CAD
|
||||
; ¡ã¤¥â ®¯ áë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì),
|
||||
; ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â .
|
||||
;!TODO ¯à¨¤ã¬ âì ª ª ®âª«îç âì ¯¥à¥å¢ â ⮫쪮 ¢®§¢à â ¢ DSS
|
||||
LD A,ACEX.RET_PORT
|
||||
LD BC,BIOS.SET_PORTS
|
||||
CALL ToBIOS_3D13
|
||||
EI
|
||||
RET
|
||||
|
||||
;SR_CL_MEM:
|
||||
; DI
|
||||
; LD A,10H
|
||||
;SR_CL_R2:
|
||||
; LD BC,1FFDH
|
||||
; OUT (C),A
|
||||
; EX AF,AF'
|
||||
; XOR A
|
||||
;SR_CL_R1:
|
||||
; LD BC,7FFDH
|
||||
; OUT (C),A
|
||||
; LD HL,0C000H
|
||||
; LD DE,0C001H
|
||||
; LD BC,03FFFH
|
||||
; LD (HL),L
|
||||
; LDIR
|
||||
; INC A
|
||||
; CP 48H
|
||||
; JR NZ,SR_CL_R1
|
||||
; EX AF,AF'
|
||||
; CP 0
|
||||
; JP Z,BASIC_128 ; ¢ë室 á¡à®á BASIC 128
|
||||
; LD A,0
|
||||
; JR SR_CL_R2
|
||||
|
||||
;*****************************
|
||||
; *** MENU IS-DOS ***
|
||||
;*****************************
|
||||
|
||||
ISDOS:
|
||||
LD HL,IS_TAB
|
||||
LD DE,IS_MENU
|
||||
LD BC,IS_MENU.Size
|
||||
PUSH HL
|
||||
CALL RUN_MENU
|
||||
POP HL
|
||||
CALL EXEC_PNT
|
||||
JR ISDOS
|
||||
|
||||
IS_TAB:
|
||||
; DW TR_DOS
|
||||
; DW SP_DOS
|
||||
DW SPRINTER_1X
|
||||
DW AY8910_X
|
||||
DW PENTAGON
|
||||
DW SCORPION
|
||||
DW PENTAGON512
|
||||
DW SPRINTER_reset ;SPRINTER_2X
|
||||
DW RET_FROM_M
|
||||
|
||||
; DC - every last character of a string will have bit 7 set
|
||||
IS_MENU:
|
||||
BYTE 8 ; ª®«¨ç¥á⢮ ¯ãªâ®¢
|
||||
BYTE 'Hardware',#FF ; § £®«®¢®ª ¬¥î
|
||||
DC 'Sprinter ZX '
|
||||
DC 'ZX Spectrum'
|
||||
DC 'Pentagon 128'
|
||||
DC 'Scorpion 256'
|
||||
DC 'Pentagon 512'
|
||||
DC 'Restart '
|
||||
DC 'RETURN'
|
||||
DC " " ; ¬ àª¥à ª®æ
|
||||
.Size EQU $-IS_MENU
|
||||
|
||||
;******************************
|
||||
;SP_DOS:
|
||||
; LD B,0E2H
|
||||
; LD A,0E1H
|
||||
; JR TR_DOS1
|
||||
;TR_DOS:
|
||||
; LD B,0EAH
|
||||
; LD A,0E1H
|
||||
;TR_DOS1:
|
||||
; CALL DOS_ON
|
||||
; CALL SET_ROM_PAGES
|
||||
; CALL DOS_OFF
|
||||
; RET
|
||||
;******************************
|
||||
|
||||
|
||||
;**************************************************
|
||||
;Sprinter ZX
|
||||
SPRINTER_1X:
|
||||
CALL _SET_CNF
|
||||
LD C,BIOS.RST_CONF.SP97_1
|
||||
RST_to_BIOS
|
||||
CALL CNF_PN_320
|
||||
LD L,2 ;FN_SYNC.INT_PENT
|
||||
JR 1F ;!FIXIT ¬¥âªã ¯à¨¤ã¬ âì
|
||||
;
|
||||
;ZX Spectrum
|
||||
AY8910_X:
|
||||
CALL _SET_CNF
|
||||
LD C,BIOS.RST_CONF.AY8910
|
||||
RST_to_BIOS
|
||||
|
||||
LD A,#FA ; no ACC, Original waits
|
||||
LD (Port_All_Mode),A
|
||||
|
||||
CALL CNF_SC_312
|
||||
LD L,3 ;FN_SYNC.INT_ORIG
|
||||
1: LD DE,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
CALL CONFIG_SET
|
||||
CALL CLS ;!FIXIT 㦮 «¨?
|
||||
RET
|
||||
;
|
||||
|
||||
SCORPION:
|
||||
CALL _SET_CNF
|
||||
CALL CNF_SC_312
|
||||
LD L,1 ;FN_SYNC.INT_SCORP
|
||||
LD DE,CNF_PORT.CNF_1 + CNF_PORT.TURBO.ON
|
||||
JR CONFIG_SET
|
||||
|
||||
PENTAGON:
|
||||
CALL _SET_CNF
|
||||
CALL CNF_PN_320
|
||||
LD L,2 ;FN_SYNC.INT_PENT
|
||||
LD DE,CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON
|
||||
JR CONFIG_SET
|
||||
|
||||
PENTAGON512:
|
||||
CALL _SET_CNF
|
||||
CALL CNF_PN_320
|
||||
LD L,2 ;FN_SYNC.INT_PENT
|
||||
LD DE,CNF_PORT.CNF_2 + CNF_PORT.TURBO.ON + CNF_PORT.CNF_512
|
||||
; JR CONFIG_SET
|
||||
CONFIG_SET:
|
||||
PUSH DE
|
||||
|
||||
EI
|
||||
HALT
|
||||
DI
|
||||
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD (SYS_PAGE.CONFIG_DE),DE
|
||||
;!FIXIT ¥áâì «¨ á¬ëá« ¤¥« âì ¤® FN_SYNC?
|
||||
LD A,(ZX_VARS.BORDER)
|
||||
RRCA
|
||||
RRCA
|
||||
RRCA
|
||||
AND 7
|
||||
OUT (BorderColor),A
|
||||
;
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
|
||||
LD A,L
|
||||
LD C,BIOS.FN_SYNC
|
||||
RST_to_BIOS
|
||||
|
||||
LD HL,#4104 ;!HARDCODE
|
||||
LD E,0
|
||||
LD BC,256*4 + BIOS.LP_OPEN_S ;!HARDCODE
|
||||
RST_to_BIOS
|
||||
|
||||
LD HL,#5104 ;!HARDCODE
|
||||
LD E,0
|
||||
LD BC,256*4 + BIOS.LP_OPEN_S
|
||||
RST_to_BIOS
|
||||
|
||||
POP DE
|
||||
LD A,E
|
||||
OUT (SYS_PORT.ROM),A
|
||||
|
||||
IM 1
|
||||
EI
|
||||
RET
|
||||
|
||||
SPRINTER_reset:
|
||||
CALL _SET_CNF
|
||||
LD BC,256*BIOS.REINIT.SOFT_RESET + BIOS.REINIT
|
||||
JP_to_BIOS
|
||||
|
||||
_SET_CNF:
|
||||
DI
|
||||
LD A,CNF_PORT.CNF_0 + CNF_PORT.TURBO.ON
|
||||
OUT (SYS_PORT.ROM),A
|
||||
RET
|
||||
|
||||
CNF_SC_312:
|
||||
LD A,Port_VSYNC.SET_312L
|
||||
OUT (Port_VSYNC),A
|
||||
RET
|
||||
|
||||
CNF_PN_320:
|
||||
LD A,Port_VSYNC.SET_320L
|
||||
OUT (Port_VSYNC),A
|
||||
RET
|
||||
|
||||
; LD A,CNF_0
|
||||
; OUT (SYS_PORT.ROM),A
|
||||
; CALL DOS_OFF
|
||||
; JP 0
|
||||
|
||||
;*****************************
|
||||
; *** MENU UTILITES ***
|
||||
;*****************************
|
||||
;!FIXIT íâ® § ¯ã᪠c:\disk.trd - ¥ ¤ã¬ î, çâ® í⮠㦮, ¬®¦® § ¬¥¨âì
|
||||
UTILIT:
|
||||
LD HL,C_DISK_C
|
||||
CALL CALL_DOS1
|
||||
|
||||
;!TEST
|
||||
;CALL DOS_ON
|
||||
;LD A,0 ; DETECT_HDD
|
||||
;CALL EXP_HDD
|
||||
LD C,BIOS.HDD_INIT
|
||||
RST_to_BIOS
|
||||
;CALL DOS_OFF
|
||||
;
|
||||
|
||||
JR C,DISK_UTILIT
|
||||
|
||||
LD HL,C_DISK_C3
|
||||
CALL CALL_DOS1
|
||||
|
||||
UTIL_DISK:
|
||||
XOR A
|
||||
;!TEST
|
||||
LD C,BIOS.FreeMemRMD
|
||||
RST_to_BIOS
|
||||
;CALL EMM_FN3 ;!!!!! ç¥à¥§ RST_to_BIOS EMM.FreeMemRMD
|
||||
;
|
||||
|
||||
LD HL,C_DEMO6
|
||||
CALL CALL_DOS1
|
||||
|
||||
XOR A
|
||||
;!TEST
|
||||
LD C,BIOS.GET_RAMD_ST
|
||||
RST_to_BIOS
|
||||
;CALL GET_RAMD_ST
|
||||
;
|
||||
|
||||
JR C,UTIL_DISK_L1
|
||||
JR Z,UTIL_DISK_L1
|
||||
|
||||
LD HL,C_DISK_C1
|
||||
CALL CALL_DOS1
|
||||
LD HL,C_DISK_C2
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
UTIL_DISK_L1:
|
||||
LD A,(ZX_VARS.OPER_DISK)
|
||||
INC A
|
||||
CP 2
|
||||
JR Z,DISK_UTIL_RET
|
||||
LD HL,C_DISK_C5
|
||||
CALL CALL_DOS1
|
||||
JR UTIL_DISK
|
||||
|
||||
DISK_UTIL_RET:
|
||||
LD HL,C_DISK_C6
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
DISK_UTILIT:
|
||||
LD HL,C_DISK_C4
|
||||
CALL CALL_DOS1
|
||||
JR UTIL_DISK
|
||||
|
||||
C_DEMO6: DB .Size, ZX_Token.rem, ':/disk.trd', 13,80
|
||||
.Size EQU $-C_DEMO6-1
|
||||
|
||||
;***************************************
|
||||
|
||||
;VERSION: DEFB 22,21,0
|
||||
; DEFB 16,2,"Expansion 3.02 1997 ELSY Co.",16,1,0FFh
|
||||
|
||||
;**********************************************
|
||||
|
||||
DOS_RUN:
|
||||
LD HL,C_DISK_C1
|
||||
CALL CALL_DOS1
|
||||
|
||||
LD HL,C_DISK_C2
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
START_TRD:
|
||||
LD HL,C_DISK_C
|
||||
CALL CALL_DOS1
|
||||
LD HL,C_DISK_C0
|
||||
CALL CALL_DOS1
|
||||
LD HL,C_DISK_C3
|
||||
CALL CALL_DOS1
|
||||
RET
|
||||
|
||||
C_DISK_C: DB .Size, ZX_Token.rem, ':', 13,80
|
||||
.Size EQU $-C_DISK_C-1
|
||||
|
||||
C_DISK_C0: DB .Size, ZX_Token.rem, ':/CLEAR E', 13,80
|
||||
.Size EQU $-C_DISK_C0-1
|
||||
|
||||
C_DISK_C1: DB .Size, ZX_Token.rem, ':/RMD E', 13,80
|
||||
.Size EQU $-C_DISK_C1-1
|
||||
|
||||
C_DISK_C2: DB .Size, ZX_Token.rem, ':RUN', 13,80
|
||||
.Size EQU $-C_DISK_C2-1
|
||||
|
||||
C_DISK_C3: DB .Size, ZX_Token.rem, ':/HDD', 13,80
|
||||
.Size EQU $-C_DISK_C3-1
|
||||
|
||||
C_DISK_C4: DB .Size, ZX_Token.rem, ':/FDD', 13,80
|
||||
.Size EQU $-C_DISK_C4-1
|
||||
|
||||
C_DISK_C5: DB .Size, ZX_Token.rem, ':/B:', 13,80
|
||||
.Size EQU $-C_DISK_C5-1
|
||||
|
||||
C_DISK_C6: DB .Size, ZX_Token.rem, ':/A:', 13,80
|
||||
.Size EQU $-C_DISK_C6-1
|
||||
;
|
||||
@ -62,8 +62,6 @@
|
||||
DEC A
|
||||
LD (RECOVERYstart.RDkey),A
|
||||
PUSH BC
|
||||
;LD BC,ROM_DISK.Pages.Size * 256 + BIOS.GetMemRMD
|
||||
;RST_to_BIOS
|
||||
LD B,ROM_DISK.Pages.Size
|
||||
CALL EMM.GetMemRMD
|
||||
POP BC
|
||||
@ -82,9 +80,7 @@
|
||||
IF vers = 1 ; <20>®«¥¥ ¡ëáâàë©, ® § å प®¦¥ë© ¢ ਠâ
|
||||
|
||||
LD HL,TEMP
|
||||
;LD C,BIOS.GetMemBlkPages
|
||||
;RST_to_BIOS ; ª¨¤ ¥¬ ¢ ¡ãä¥à ®¬¥à áâà ¨æ RAM disk
|
||||
CALL EMM.GetMemBlkPages
|
||||
CALL EMM.GetMemBlkPages ; ª¨¤ ¥¬ ¢ ¡ãä¥à ®¬¥à áâà ¨æ RAM disk
|
||||
|
||||
IN A,(SLOT3)
|
||||
LD (.slot3save),A
|
||||
@ -142,9 +138,7 @@
|
||||
LD A,#46 ;ç⥨¥ ¨§ ROM-Disk
|
||||
EX AF,AF'
|
||||
LD HL,TEMP ; ¤à¥á ¡ãä¥à ¤ ëå
|
||||
;LD BC,2*256 + BIOS.BLK_RD_WR ;ç¨á«® ᥪâ®à®¢ ¨ ®¬¥à äãªæ¨¨
|
||||
;RST_to_BIOS
|
||||
LD B,2
|
||||
LD B,2 ;ç¨á«® ᥪâ®à®¢
|
||||
CALL BLK_RD_WR
|
||||
|
||||
;write to ram disk
|
||||
@ -157,8 +151,6 @@
|
||||
LD A,#FF ;§ ¯¨áì ¢ RAM-Disk
|
||||
EX AF,AF'
|
||||
LD HL,TEMP ; ¤à¥á ¡ãä¥à ¤ ëå
|
||||
;LD BC,2*256 + BIOS.BLK_RD_WR ;ç¨á«® ᥪâ®à®¢ ¨ ®¬¥à äãªæ¨¨
|
||||
;RST_to_BIOS
|
||||
LD B,2 ;ç¨á«® ᥪâ®à®¢
|
||||
CALL BLK_RD_WR
|
||||
|
||||
@ -193,3 +185,9 @@
|
||||
ENDIF
|
||||
ENDM
|
||||
;
|
||||
|
||||
;
|
||||
; MACRO
|
||||
|
||||
; ENDM
|
||||
;
|
||||
@ -4,7 +4,7 @@
|
||||
DEFINE NEW_FEATURE 0;| /\ ; !TODO ¯ãªâë ¢ á¥â ¯
|
||||
DEFINE SET_NEWdcp 1;| \/ \/ ; !FIXIT â¥áâ ®¢®£® dcp_init, ¯®ª ¥ £®â®¢ â ¡«¨æ ¯®à⮢
|
||||
DEFINE PACKED_MAIN 0;| | ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
|
||||
DEFINE SetFullZXromLoader 0;| ; ¤®¡ ¢«ïâì ¢ ¯à®è¨¢ªã ¨ £à㧨âì ¢á¥ ROM ᯥªâà㬠¨«¨ ç áâì?
|
||||
DEFINE SP2000_ConfID #FEFF;| ;
|
||||
DEFINE IDE_Optimization 1;| ; á«¥£ª ®¯â¨¬¨§¨àã¥â ¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
|
||||
DEFINE NeedSafePort_Y 1;| ============== ; !!!!! ¥á«¨ 0, â® ¢ ०¨¬¥ sp-ᯥªâà㬠¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà
|
||||
DEFINE Pashalki 0; \__________________/\
|
||||
@ -13,10 +13,6 @@
|
||||
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤ £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ¥â, â® § ¨¬ ¥âáï 15ë©
|
||||
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ¥¬®£® § å प®¦¥ë© ¢ ਠâ. 2 - ¡®«¥¥ "¯à ¢¨«ìë©"
|
||||
|
||||
DEFINE SP2000_ConfID #FEFF
|
||||
|
||||
DEFINE BIOS_ZXMODE 1
|
||||
|
||||
; ‡ ¤¥à¦ª ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯ (0 = 256)
|
||||
DEFINE LOGO_DELAY_MIN 25
|
||||
DEFINE LOGO_DELAY_NORM 100
|
||||
|
||||
@ -1,41 +1,51 @@
|
||||
!TODO
|
||||
- / ‘¤¥« âì EXP ®¢®£® ¡¨®á ᮢ¬¥áâ¨¬ë¬ á ०¨¬®¬ ᯥªâà㬠, ⮣¤ ®á¢®¡®¤¨âáï 1 áâà ¨æ ¢ <20>‡“
|
||||
- -| €¤ ¯â¨à®¢ âì ¯®¤ ®¢ë© ᮢ¬¥áâ¨¬ë© EXP ᯥªâà㬮¢áª¨¥ <20>‡“, ⮣¤ £à㧨âì 1 áâà ¨æã ¬¥ìè¥
|
||||
- \ ¯®«ãç¨âáï, çâ® EXP ª®â®à®¥ ᥩç á ¬¥á⥠à áè¨à¥®£® ‚¨àâ㠫쮣® <20>‡“ ¡ã¤¥â ¢ <20>‡“?????
|
||||
- ‘¦ âì åàãá⮬ <20>‡“ ᯥªâà㬠¨ ‹®£®â¨¯, ¥éñ 1-2 áâà ¨æë ®á¢®¡®¤ïâáï
|
||||
TODO:
|
||||
- ¯ãªâ ¢ á¥â ¯¥ "á®åà ïâì áâà ¨æë ᯥªâà㬠¯à¨ ¯¥à¥§ £à㧪¥"
|
||||
- ¯¥à¥¤ ¨¨æ¨ «¨§ 樥© áâà ¨æ ᯥªâà㬠¨ áâà ¨æë 41 ¯à®¢¥àïâì, ¥ § ïâë «¨ ®¨ à ¬¤¨áª®¬
|
||||
- ‘¦ âì åàãá⮬ <20>‡“ ᯥªâà㬠¨ ‹®£®â¨¯, ¥éñ 1 áâà ¨æ ¬®¦¥â ®á¢®¡®¤¨âìáï
|
||||
- ¢ á¥â ¯ ¤«ï á®åà ¥¨ï àãçëå áâ஥ª HDD ¥ ⥠ï祩ª¨ CMOS
|
||||
- ¡ £ ¢ ०¨¬¥ ᯥªâà㬠¯à¨ ¢ë¡®à¥ Clear RAM ¢ ¬¥î ¨ ¯®á«¥¤ãî騬 ¢ë室®¬ ¢ „Ž‘ ¯® CAD - § ¢¨á ¥â, ¯®â®¬ã çâ® ¢ë§ë¢ ¥âáï ¯à®æ¥¤ãà FullInit ¤«ï ®ç¨á⪨
|
||||
- ç¨áâ¨âì ¡ãä¥à ª« ¢ë ¥ ¢âã¯ãî, ª ª¨¬¨-¨¡ã¤ì ª®¬ ¤ ¬¨ ¤«ï íâ¨å ¢á直å SIO/PIO, ¥á«¨ ¥áâì
|
||||
-+ ! ¢ Setup ¤®¡ ¢«¥ ¯ãªâ áâனª¨ ¢à¥¬¥¨ ¨ ¤ âë
|
||||
-+ ! ¢ Setup ¤®¡ ¢¨âì ¯ãªâ áâனª¨ ¢à¥¬¥¨ ¨ ¤ âë
|
||||
-+ ¥¬®£® ¤®à ¡®â á¨á⥬ ¯¥à¥å¢ â à¥á¥â ¤«ï ãáâà ¥¨ï ¥ª®â®àëå £«îª®¢ ¨ ¡ã¤ã饥
|
||||
|
||||
+ ¨á¯à ¢«¥ ¡ £ á® á⥪®¬ ¢ BLK_TO_RAMD ¨ ¥éñ ¥áª®«ìª® ¡ £®¢ ¢ ¯à®æ¥¤ãà å ç⥨ï á <20>€Œ-„ˆ‘Š€
|
||||
+ ⥯¥àì § १¥à¢¨à®¢ ë¥ ¯®¤ ०¨¬ ᯥªâà㬠áâà ¨æë ¬®¦® «¥£ª® ®á¢®¡®¤¨âì, ®¬¥à ¡«®ª - 1
|
||||
+ ªâ¨¢¨à®¢ ¢â®à®© ª « IDE
|
||||
+ ã¬¥à æ¨ï ãáâனá⢠IDE ¯¥à¥¤¥« á ¯®á«¥¤®¢ ⥫쮩 䨧¨ç¥áªãî
|
||||
+ ¢ë¡®à § £à㧮箣® IDE ¨§¬¥ñ á ¯®á«¥¤®¢ ⥫쮣® 䨧¨ç¥áª¨©
|
||||
+ ¤®¡ ¢«¥ ¢®§¬®¦®áâì ãáâ ®¢ª¨ IDE á® ¢â®à®£® ª « ¢ ª ç¥á⢥ ®á®¢®£® ¨ «ìâ¥à ⨢®£® § £à㧮箣® ¤¨áª
|
||||
+ ᤥ« 㨢¥àá «ìë© § £àã§ç¨ª ¡¨âáâਬ ¤«ï 1k30 ¨ 1k50
|
||||
+ ¥¬®£® ¤®à ¡®â á¨á⥬ ¯¥à¥å¢ â à¥á¥â ¤«ï ãáâà ¥¨ï ¥ª®â®àëå £«îª®¢ ¨ ¡ã¤ã饥
|
||||
+ ã¡à ® § «¨¯ ¨¥ ª« ¢¨è ¯à¨ à¥á¥â¥ ¯® Ctrl+Alt+Del
|
||||
+ ¯à¨ ¥ª®à४âëå § 票ïå ¤ âë ¨ ¢à¥¬¥¨ ¢ CMOS ¤ ë¥ § ¬¥ïîâáï ¤¥ä®«âë¥ § 票ï, ¢ë¢®¤¨âáï á®®¡é¥¨¥ ®¡ ®è¨¡ª¥
|
||||
+ ¢ Setup ¤®¡ ¢«¥ ¢ë¡®à ०¨¬ à §¢ñà⪨ (--------/Scorpion/Pentagon/Spectrum)
|
||||
+ ¢ Setup ¤®¡ ¢«¥ ¢ë¡®à ¢¥à⨪ «ì®© á¨åந§ 樨 (--------/312 50ƒæ/320 49ƒæ)
|
||||
+ ¤®¡ ¢«¥ § £à㧪 RECOVERY á ROM-Disk ¢ <20>‡“
|
||||
+ ¤®¡ ¢«¥ § £à㧪 á¨á⥬ë á RAM Disk
|
||||
+ ¯à¨ 宫®¤®¬ áâ à⥠ãáâ ¢«¨¢ ¥âáï ¨â ¯¥â £® ( ¥ ᪮௨® ), ¥á«¨ ¢ CMOS ¥ § ¤ ® ¨®¥
|
||||
Done:
|
||||
+ ‘¤¥« 㨢¥àá «ìë© § £àã§ç¨ª ¡¨âáâਬ ¤«ï 1k30 ¨ 1k50
|
||||
+ €ªâ¨¢¨à®¢ ¢â®à®© ª « IDE
|
||||
+ <20>ã¬¥à æ¨ï ãáâனá⢠IDE ¯¥à¥¤¥« á ¯®á«¥¤®¢ ⥫쮩 䨧¨ç¥áªãî
|
||||
+ ‚ë¡®à § £à㧮箣® IDE ¨§¬¥ñ á ¯®á«¥¤®¢ ⥫쮣® 䨧¨ç¥áª¨©
|
||||
+ „®¡ ¢«¥ ¢®§¬®¦®áâì ãáâ ®¢ª¨ IDE á® ¢â®à®£® ª « ¢ ª ç¥á⢥ ®á®¢®£® ¨ «ìâ¥à ⨢®£® § £à㧮箣® ¤¨áª
|
||||
+ “¡à ® § «¨¯ ¨¥ ª« ¢¨è ¯à¨ à¥á¥â¥ ¯® Ctrl+Alt+Del
|
||||
+ <20>ਠ¥ª®à४âëå § 票ïå ¤ âë ¨ ¢à¥¬¥¨ ¢ CMOS ¤ ë¥ § ¬¥ïîâáï ¤¥ä®«âë¥ § 票ï, ¢ë¢®¤¨âáï á®®¡é¥¨¥ ®¡ ®è¨¡ª¥
|
||||
+ ‚ Setup ¤®¡ ¢«¥ ¢ë¡®à ०¨¬ à §¢ñà⪨ (--------/Scorpion/Pentagon/Spectrum)
|
||||
+ ‚ Setup ¤®¡ ¢«¥ ¢ë¡®à ¢¥à⨪ «ì®© á¨åந§ 樨 (--------/312 50ƒæ/320 49ƒæ)
|
||||
+ „®¡ ¢«¥ § £à㧪 á¨á⥬ë á RAM Disk
|
||||
+ ˆá¯à ¢«¥ ¡ £ á® á⥪®¬ ¢ BLK_TO_RAMD ¨ ¥éñ ¥áª®«ìª® ¡ £®¢ ¢ ¯à®æ¥¤ãà å ç⥨ï á <20>€Œ-„ˆ‘Š€
|
||||
+ „®¡ ¢«¥ § £à㧪 RECOVERY á ROM-Disk ¢ <20>‡“
|
||||
+ <20>ਠ宫®¤®¬ áâ à⥠ãáâ ¢«¨¢ ¥âáï ¨â ¯¥â £® ( ¥ ᪮௨® ), ¥á«¨ ¢ CMOS ¥ § ¤ ® ¨®¥
|
||||
+ ”ãªæ¨ï <20>ˆŽ‘ FN_SINC (#F2) ¯à¨ 㤠箬 § ¢¥à襨¨ ¥ á¡à áë¢ « ä« £ CF ¢ë室¥ - ¨á¯à ¢«¥®
|
||||
+ ®¢ ï äãªæ¨ï GET_RAMD_NUM
|
||||
+ ¤®¡ ¢«¥ë¥ ¤®¯®«¨â¥«ìë¥ ®¯æ¨¨ ¢ äãªæ¨î <20>ˆŽ‘ FN_SINC (#F2), bit7 ॣ¨áâà A ⥯¥àì ®â¢¥ç ¥â § ¯¥à¥ª«î票¥ áâ ண®/®¢®£® ¢ ਠâ à ¡®âë äãªæ¨¨ (¤«ï á®åà ¥¨ï ᮢ¬¥á⨬®á⨠ᮠáâ à묨 ¯à®£à ¬¬ ¬¨)
|
||||
+ ¤®¡ ¢«¥ë ®¡à §ë <20>‡“ ZX-Sprinter ¤«ï § ¯ã᪠०¨¬ ᯥªâà㬠¡¥§ § £à㧪¨ DSS
|
||||
+ ®¢®¥ «®£® ¯à¨ áâ àâ¥, à §à¥è¥¨¥ ¨§¬¥¥® á 256å64 16 梥⮢ 128å72 256 梥⮢
|
||||
+ ¨§¬¥¥ ¯à®æ¥¤ãà ¢ë¢®¤ «®£®â¨¯ , «®£®â¨¯ ¯¥à¥¥áñ ¢ ¤àã£ãî áâà ¨æã <20>‡“
|
||||
+ ᬥ ï§ëª , à §¢ñà⪨ ¨ ¨â ¯à®¨á室¨â ¢ Setup áà §ã
|
||||
+ ¯®¯à ¢«¥ ¬ «®¢¥à®ïâë©, ® ¢®§¬®¦ë© £«îª á ¯¥à¥¯®«¥¨¥¬ á⥪ ¯à¨ ¢å®¤¥-¢ë室¥ ¨§ SETUP
|
||||
+ ¯®¯à ¢«¥ë ¡ãä¥àë, ®¯â¨¬¨§¨à®¢ ë ¥ª®â®àë¥ ¯à®æ¥¤ãàë, ®á¢®¡®¦¤¥® ¡¡®«ìè¥ 1,5 ª¡ އ“ ¤«ï à ¡®âë BIOS ¢® ¢à¥¬ï áâ àâ
|
||||
+ ¨§¬¥¥ë ¥ª®â®àë¥ ¤¯¨á¨ ¨ ¯®¯à ¢«¥ áâàãªâãà SETUP
|
||||
+ ©¤¥® ¥áª®«ìª® ¤à¥¢¨å ¬¥«ª¨å ®£à¥å®¢ copy/paste, ¯à¨ à ¡®â¥ ¡ë«® ¥§ ¬¥â®, ® ¯à¨ïâ®, ç⮠諨áì
|
||||
+ ¤®¤¥« äãªæ¨ï FN_RESET
|
||||
+ ¯®á⥯¥ë© à¥ä ªâ®à¨£ ª®¤ )))
|
||||
+ <20>®¢ ï äãªæ¨ï GET_RAMD_NUM
|
||||
+ „®¡ ¢«¥ë¥ ¤®¯®«¨â¥«ìë¥ ®¯æ¨¨ ¢ äãªæ¨î <20>ˆŽ‘ FN_SINC (#F2), bit7 ॣ¨áâà A ⥯¥àì ®â¢¥ç ¥â § ¯¥à¥ª«î票¥ áâ ண®/®¢®£®
|
||||
¢ ਠâ à ¡®âë äãªæ¨¨ (¤«ï á®åà ¥¨ï ᮢ¬¥á⨬®á⨠ᮠáâ à묨 ¯à®£à ¬¬ ¬¨)
|
||||
+ <20>®¢®¥ «®£® ¯à¨ áâ àâ¥, à §à¥è¥¨¥ ¨§¬¥¥® á 256å64 16 梥⮢ 128å72 256 梥⮢
|
||||
+ ˆ§¬¥¥ ¯à®æ¥¤ãà ¢ë¢®¤ «®£®â¨¯ , «®£®â¨¯ ¯¥à¥¥áñ ¢ ¤àã£ãî áâà ¨æã <20>‡“
|
||||
+ ‘¬¥ ï§ëª , à §¢ñà⪨ ¨ ¨â ¯à®¨á室¨â ¢ Setup áà §ã
|
||||
+ ˆ§¬¥¥ë ¥ª®â®àë¥ ¤¯¨á¨ ¨ ¯®¯à ¢«¥ áâàãªâãà SETUP
|
||||
+ „®¤¥« äãªæ¨ï FN_RESET
|
||||
+ „®¤¥« äãªæ¨ï DCP_CONFIG - äãªæ¨ï ã¯à ¢«¥¨ï ¤¥è¨äà â®à®¬ ¯®à⮢
|
||||
+ “¡à ® § ¤¢®¥¨¥ äãªæ¨© 4å
|
||||
+ ”ãªæ¨¨ 5å ¯¥à¥¥á¥ë ¨§ 0 ¢ 8 áâà ¨æã <20>‡“
|
||||
+ ˆ§¬¥¥ äãªæ¨ï ¨¨æ¨ «¨§ 樨 DCP, ®á¢®¡®¤¨«®áì ®ª®«® 4,5 ª¡
|
||||
+ ’¥¯¥àì § १¥à¢¨à®¢ ë¥ ¯®¤ ०¨¬ ᯥªâà㬠áâà ¨æë ¬®¦® «¥£ª® ®á¢®¡®¤¨âì, ®¬¥à ¡«®ª - 1
|
||||
+ „®¡ ¢«¥ë ®¡à §ë <20>‡“ ZX-Sprinter ¤«ï § ¯ã᪠०¨¬ ᯥªâà㬠¡¥§ § £à㧪¨ DSS
|
||||
+ ‘âà ¨æ BIOS ᮢ¬¥á⨬ á ¤ ¯â¨à®¢ 묨 ®¡à § ¬¨ <20>‡“ ᯥªâà㬠. ’¥¯¥àì ®â¤¥«ìë¥ áâà ¨æë ®à¨£¨ «ìëå SP_EXP ¨ SP_EXP2
|
||||
¥ âॡãîâáï.
|
||||
+ ˆá¯à ¢«¥ ¡ £ ¢ ०¨¬¥ ᯥªâà㬠. <20>ਠ¢ë¡®à¥ Clear RAM ¢ ¬¥î ¨ ¯®á«¥¤ãî騬 ¢ë室®¬ ¢ „Ž‘ ¯® CAD § ¢¨á «®,
|
||||
¯®â®¬ã çâ® ¢ë§ë¢ « áì ¯à®æ¥¤ãà FullInit ¤«ï ®ç¨á⪨ ¯ ¬ïâ¨. ’¥¯¥àì ¢¬¥áâ¥ á ®ç¨á⪮© ¯ ¬ï⨠á¡à áë¢ ¥âáï ¯¥à¥å¢ â à¥á¥â
|
||||
+ <20>®¯à ¢«¥ë ¡ãä¥àë, ®¯â¨¬¨§¨à®¢ ë ¥ª®â®àë¥ ¯à®æ¥¤ãàë, ®á¢®¡®¦¤¥® ¡¡®«ìè¥ 1,5 ª¡ އ“ ¤«ï à ¡®âë BIOS ¢® ¢à¥¬ï áâ àâ
|
||||
+ <20> ©¤¥® ¥áª®«ìª® ¤à¥¢¨å ¬¥«ª¨å ®£à¥å®¢ copy/paste, ¯à¨ à ¡®â¥ ¡ë«® ¥§ ¬¥â®, ® ¯à¨ïâ®, ç⮠諨áì
|
||||
+ <20>®¯à ¢«¥ ¬ «®¢¥à®ïâë©, ® ¢®§¬®¦ë© £«îª á ¯¥à¥¯®«¥¨¥¬ á⥪ ¯à¨ ¢å®¤¥-¢ë室¥ ¨§ SETUP
|
||||
+ <20>®á⥯¥ë© à¥ä ªâ®à¨£ ª®¤ )))
|
||||
+ ‚ᥣ® ¨ ¥ ¢á¯®¬¨âì 㦥...
|
||||
====================================================================================================================================================================================================================
|
||||
|
||||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ <20>ˆŽ‘ FN_SINC (#F2)
|
||||
LD A,sync_mode ; ०¨¬ á¨åந§ 樨
|
||||
@ -106,6 +116,7 @@ FN_RESET: ;
|
||||
; áâ à ï ¢¥àá¨ï BIOS
|
||||
;
|
||||
|
||||
|
||||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ GET_RAMD_NUM (#9B)
|
||||
GET_RAMD_NUM: ; ¯®«ãç¨âì ®¬¥à RAM-Disk- (0..15) ¯® ¥£® block id
|
||||
LD A,id_blk ; ¨¤¥â¨ä¨ª â®à ¡«®ª
|
||||
@ -114,6 +125,7 @@ GET_RAMD_NUM: ;
|
||||
; CF -> ®è¨¡ª ¢ ¨¤¥â¨ä¨ª â®à¥ ¡«®ª ¨«¨ ¡¨®á ¨¦¥ 2.55
|
||||
;
|
||||
|
||||
|
||||
<EFBFBD>®¢®¥ ®¯¨á ¨¥ äãªæ¨¨ <20>ˆŽ‘ BLK_RD_WR (#C8)
|
||||
BLK_RD_WR: ; ç⥨¥/§ ¯¨áì ¨§/¢ ¡«®ª( ) ¯ ¬ï⨠ᥪâ®à ¬¨
|
||||
; ¯® 256 ¡ ©â
|
||||
@ -133,3 +145,12 @@ s_lines312 equ 7
|
||||
s_wait_orig equ #18
|
||||
s_wait_def equ #10
|
||||
|
||||
|
||||
DCP_CONFIG: ; [x] äãªæ¨ï ã¯à ¢«¥¨ï ¤¥è¨äà â®à®¬ ¯®à⮢.
|
||||
;A - ¥á«¨ ®«ì, â® ¢ë§®¢ äãªæ¨¨ ¯¥à¥¨¨æ¨ «¨§ 樨 ¯®à⮢ PORTS_INIT
|
||||
;HL - ¤à¥á
|
||||
;DE - ¬ ᪠- 0 ¨§¬¥ï¥¬ë¥ ¡¨âë, 1 ¥¨§¬¥ï¥¬ë¥
|
||||
;B - ¯®àâ
|
||||
;C - #F4 ®¬¥à äãªæ¨¨
|
||||
; !FIXIT ”ãªæ¨ï ¯®§¢®«ï¥â ®âªàë¢ âì/§ ªàë¢ âì ¤®¯®«¨â¥«ìë¥ ¯®àâë ª®¬¯ìîâ¥à .
|
||||
;
|
||||
Loading…
Reference in New Issue
Block a user