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