testing adaptation for bios

This commit is contained in:
Anatoliy Belyanskiy 2023-06-22 04:40:19 +10:00
parent 8a235fe820
commit 228f513fe8
6 changed files with 87 additions and 73 deletions

View File

@ -691,7 +691,7 @@ CHAR_SET EQU #3D00
DEFW adr DEFW adr
ENDM ENDM
DEFINE START_PAUSE #0000 DEFINE START_PAUSE #0001
INCLUDE 'shared_includes/constants/sp2000.inc' INCLUDE 'shared_includes/constants/sp2000.inc'
INCLUDE 'shared_includes/constants/zx_char_codes.inc' INCLUDE 'shared_includes/constants/zx_char_codes.inc'
;[^]..................................................................................................................... SP2000 [^] ;[^]..................................................................................................................... SP2000 [^]

View File

@ -6375,43 +6375,48 @@ RUS_PRINT:
DISPLAY "14k" DISPLAY "14k"
BLOCK #3C00 - $,255 BLOCK #3C00 - $,255
;*********************************************
AUTO_3C00: AUTO_3C00:
RST R38 RST R38
JR AUTO_3C06 JR AUTO_3C06
RST R38 RST R38
JR AUTO_3C09 JR AUTO_3C09
;
;
BLOCK #3C06 - $,255
AUTO_3C06: AUTO_3C06:
JP AUTO_3D00 JP AUTO_3D00
;
;
BLOCK #3C09 - $,255
AUTO_3C09: AUTO_3C09:
JP AUTO_3D03 JP AUTO_3D03
;***************************** ;************************************
;!FIXIT not used
BLOCK #3C10 - $,255 BLOCK #3C10 - $,255
;KBD_EXP: ;KBD_EXP:
LD A,D_ROM16OFF LD A,D_ROM16OFF
OUT (CNF_PORT),A OUT (CNF_PORT),A
RET RET
NOP ;
NOP ;************************************
NOP ;!FIXIT not used
BLOCK #3C18 - $,255
;KBD_OFF: ;KBD_OFF:
LD A,D_ROM16OFF LD A,D_ROM16OFF
OUT (CNF_PORT),A OUT (CNF_PORT),A
RET RET
NOP
NOP
NOP
;************************************ ;************************************
;!FIXIT not used
BLOCK #3C20 - $,255
READR_X: READR_X:
CALL 3E08h CALL get_disk_time:
LD B,A LD B,A
JP 1FEBh JP set_side_0
;************************************
;!FIXIT not used
BLOCK #3C30 - $,255 BLOCK #3C30 - $,255
IN A,(WG_COM) IN A,(WG_COM)
RET RET
@ -6452,7 +6457,6 @@ PRINT_RED:
RET RET
;******************************* ;*******************************
BLOCK #3CC0 - $,255 BLOCK #3CC0 - $,255
MAGIC_1: MAGIC_1:
PUSH AF PUSH AF
@ -6460,6 +6464,8 @@ MAGIC_1:
OUT (CNF_PORT),A OUT (CNF_PORT),A
POP AF POP AF
JP MAGIC_2 JP MAGIC_2
;*******************************
BLOCK #3CC9 - $,255
MAGIC_3: MAGIC_3:
PUSH AF PUSH AF
LD A,D_ROM16OFF LD A,D_ROM16OFF
@ -6510,7 +6516,7 @@ AUTO_3CFD:
; JP AUTO_283C ; JP AUTO_283C
;***********************************************************************; ;***********************************************************************;
BLOCK #3D00-$,FF BLOCK #3D00-$,#FF
AUTO_3D00: AUTO_3D00:
NOP NOP
@ -7010,9 +7016,7 @@ AUTO_3FEC:
;****************************************** ;******************************************
BLOCK #3FF0-$, #FF BLOCK #3FF0-$, #FF
HD_CMD: PUSH AF
HD_CMD:
PUSH AF
DI DI
LD A,D_ROM16ON LD A,D_ROM16ON
OUT (SYS_PORT_ON),A OUT (SYS_PORT_ON),A

View File

@ -19282,8 +19282,8 @@ L3C97:
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
;!FIXIT ᤥ« âì ¢ë¡®à áâà ­¨æë ¬ ªà®á®¬ á ãá«®¢¨ï¬¨ ª®¬¯¨«ï樨, ;!FIXIT ᤥ« âì ¢ë¡®à áâà ­¨æë ¬ ªà®á®¬ á ãá«®¢¨ï¬¨ ª®¬¯¨«ï樨,
;ç⮡ ¬®¦­® ¡ë«® ª®¬¯¨«¨âì vROM ª ª ¤«ï à ¡®âë á <20>‡“, â ª ¨ ¯®«­®áâìî ¡¥§ ­¥£® ;ç⮡ ¬®¦­® ¡ë«® ª®¬¯¨«¨âì vROM ª ª ¤«ï à ¡®âë á <20>‡“, â ª ¨ ¯®«­®áâìî ¡¥§ ­¥£®
//LD HL,#C0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48 LD HL,#C0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48
LD HL,#3CF0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48 //LD HL,#3CF0 ; POINT - ¢å®¤ ¢ MENU ¨§ BASIC 48. for ZX_MODE.ASM - RET_FROM_BIOS_TO_BASIC48
; ;
JR JMP_EX JR JMP_EX
@ -19296,8 +19296,10 @@ JMP_EX: PUSH HL
;!FIXIT ᤥ« âì ¢ë¡®à áâà ­¨æë ¬ ªà®á®¬ á ãá«®¢¨ï¬¨ ª®¬¯¨«ï樨, ;!FIXIT ᤥ« âì ¢ë¡®à áâà ­¨æë ¬ ªà®á®¬ á ãá«®¢¨ï¬¨ ª®¬¯¨«ï樨,
;ç⮡ ¬®¦­® ¡ë«® ª®¬¯¨«¨âì vROM ª ª ¤«ï à ¡®âë á <20>‡“, â ª ¨ ¯®«­®áâìî ¡¥§ ­¥£® ;ç⮡ ¬®¦­® ¡ë«® ª®¬¯¨«¨âì vROM ª ª ¤«ï à ¡®âë á <20>‡“, â ª ¨ ¯®«­®áâìî ¡¥§ ­¥£®
LD A,0 //LD A,0
OUT (CNF_PORT.ON),A //OUT (CNF_PORT.ON),A
LD A,ROM.EXTENSION
OUT (SYS_PORT.ROM),A
; ;
POP AF POP AF
RET ; ¢®§¢à â RET ; ¢®§¢à â

View File

@ -204,39 +204,41 @@ REST_LOOP:
RESTART_TXT_L EQU $-RESTART_TXT RESTART_TXT_L EQU $-RESTART_TXT
;********************************** ;**********************************
BLOCK #100 - $,255
; ‚믮«­ï¥âáï á  ¤à¥á  #C000
SETUP_TXT: SETUP_TXT:
LD A,CNF_0+D_ROM16ON LD A,CNF_0+D_ROM16ON
OUT (CNF_PORT),A OUT (CNF_PORT),A
LD HL,1000H LD HL,#1000
LD DE,8000H LD DE,#8000
LD BC,3000H LD BC,#3000
LDIR LDIR
LD A,CNF_0+D_ROM16OFF LD A,CNF_0+D_ROM16OFF
OUT (CNF_PORT),A OUT (CNF_PORT),A
LD HL,08005H LD HL,#8005
LD A,0FEh LD A,#FE
LD BC,204Eh LD BC,#204E ;ALL_MODE
OUT (C),A OUT (C),A
LD A,7FH LD A,#7F
IN A,(0FEH) IN A,(#FE)
CPL CPL
AND 1 AND 1
EX AF,AF' EX AF,AF'
LD A,0FFh LD A,#FF
OUT (C),A OUT (C),A
EX AF,AF' EX AF,AF'
JP (HL) JP (HL)
SETUP_TXT_LEN EQU $-SETUP_TXT SETUP_TXT_LEN EQU $-SETUP_TXT
;**********************************
SYSTEM_ID_TXT: SYSTEM_ID_TXT:
DB "NEW_BIOS" DB "NEW_BIOS"
@ -704,19 +706,19 @@ ELSE
LD BC,204Eh ; system_port LD BC,204Eh ; system_port
OUT (C),A OUT (C),A
LD SP,0BFFFH LD SP,#BFFF
LD HL,L_PENTAGON LD HL,L_PENTAGON
CALL SINC_DEF CALL SINC_DEF
LD SP,0BFFFH LD SP,#BFFF
LD HL,L_PENTAGON LD HL,L_PENTAGON
CALL SINC_DEF CALL SINC_DEF
LD HL,SETUP_TXT LD HL,SETUP_TXT
LD DE,0C000H LD DE,#C000
LD BC,SETUP_TXT_LEN LD BC,SETUP_TXT_LEN
LDIR LDIR
CALL 0C000H CALL #C000
JP NO_SETUP_1 JP NO_SETUP_1
GOTO_SPEC: GOTO_SPEC:
@ -743,7 +745,7 @@ NO_SETUP_1:
OUT (C),A OUT (C),A
SND_TEST_RET: SND_TEST_RET:
LD SP,0BFFFH LD SP,#BFFF
LD HL,L_PENTAGON LD HL,L_PENTAGON
CALL SINC_DEF CALL SINC_DEF
@ -1396,8 +1398,9 @@ LOOP_EQ: ;
OUT (LPT1_D),A OUT (LPT1_D),A
RET RET
;
;********************************************** ;**********************************************
; DSS 3C10h,255 ; BLOCK #3C10 - $,255
;KBD_RET: ;KBD_RET:
; LD A,D_ROM16OFF ; LD A,D_ROM16OFF
; OUT (SYS_PORT_OFF),A ; OUT (SYS_PORT_OFF),A
@ -1422,10 +1425,10 @@ LOOP_EQ: ;
; CALL KBD_OFF ; CALL KBD_OFF
; CALL DOS_ON ; CALL DOS_ON
; JR KBD_RET2 ; JR KBD_RET2
;****************************************************** ;******************************************************
BLOCK 3CC0h - $,255 ;******************************************************
BLOCK #3CC0 - $,255
MAGIC_1: ; ‡€ƒ‹“˜Š€ „‹Ÿ MAGIC MAGIC_1: ; ‡€ƒ‹“˜Š€ „‹Ÿ MAGIC
PUSH AF PUSH AF
LD A,D_ROM16OFF LD A,D_ROM16OFF
@ -1701,43 +1704,44 @@ kbd_loop2:
AND A AND A
RET RET
;***********************************************************************;
BLOCK 3FD0H - $,0 ;!FIXIT not used
BLOCK #3FD0 - $,0
FN1_RET: FN1_RET:
PUSH AF PUSH AF
LD A,D_ROM16ON LD A,D_ROM16ON
OUT (CNF_PORT),A OUT (CNF_PORT),A
POP AF POP AF
RST 18H RST #18
JR FN1_RET JR FN1_RET
;****************************************** ;***********************************************************************;
BLOCK 3FE0H - $,255 ;!FIXIT not used
BLOCK #3FE0 - $,255
SOUND_TEST: SOUND_TEST:
LD A,D_ROM16ON ; AROM16 = 1 LD A,D_ROM16ON ; AROM16 = 1
OUT (CNF_PORT),A OUT (CNF_PORT),A
JP SND_TEST_RET JP SND_TEST_RET
BLOCK 3FE8H - $,255 ;***********************************************************************;
HDD_EXE: BLOCK #3FE8 - $,255
EXP_HDD: EXP_HDD:
PUSH AF PUSH AF
LD A,D_ROM16ON ;!FIXIT ¯à¨¤ã¬ âì ­ §¢ ­¨ï ¬¥âª ¬ LD A,D_ROM16ON
OUT (CNF_PORT),A OUT (CNF_PORT),A
POP AF POP AF
RET RET
;***********************************************************************;
BLOCK 3FF0H-$,255 BLOCK #3FF0-$,255
;***********************************************************************;
BLOCK 3FF8H-$,255 BLOCK #3FF8-$,255
EXP_FNS_RET: EXP_FNS_RET:
PUSH AF PUSH AF
LD A,D_ROM16OFF LD A,D_ROM16OFF
OUT (SYS_PORT_OFF),A OUT (SYS_PORT_OFF),A
JP EXP_FNS JP EXP_FNS
;****************************************** ;***********************************************************************;
BLOCK 4000h-$,255 BLOCK #4000-$,255
; ;

View File

@ -691,7 +691,7 @@ UTILIT:
CALL DOS_ON CALL DOS_ON
LD A,0 ; DETECT_HDD LD A,0 ; DETECT_HDD
CALL HDD_EXE CALL EXP_HDD
CALL DOS_OFF CALL DOS_OFF
JR C,DISK_UTILIT JR C,DISK_UTILIT

View File

@ -4,24 +4,24 @@
ORG 0 ORG 0
INCLUDE 'INC/SPRINT00.INC' ; ª®­áâ ­âë, ¬ ªà®áë.. INCLUDE 'INC/SPRINT00.INC' ; ª®­áâ ­âë, ¬ ªà®áë..
;****************************** ; ***************************
; ***** BEGIN EXPANSION ***** ; ***** BEGIN EXPANSION *****
;****************************** ; ***************************
START: START:
DI DI
HALT HALT
;*************************** ;***********************************************************************;
BLOCK #10-$,255 BLOCK #10-$,255
RET RET
;*************************** ;***********************************************************************;
BLOCK #38-$,255 BLOCK #38-$,255
EI EI
RETI RETI
;*************************** ;***********************************************************************;
BLOCK #66-$,#C9 BLOCK #66-$,#C9
RETN RETN
;*************************** ;***********************************************************************;
BLOCK #100-$,255 BLOCK #100-$,255
INCLUDE 'ZX_EXP/EXP_HDD.ASM' INCLUDE 'ZX_EXP/EXP_HDD.ASM'
; INCLUDE 'EXP_KBD.ASZ' ; INCLUDE 'EXP_KBD.ASZ'
@ -38,9 +38,8 @@ START:
; PUSH HL ; PUSH HL
; DI ; DI
; RET ; RET
;***********************************************************************;
BLOCK #3FD0-$,255 BLOCK #3FD0-$,255
PUSH AF PUSH AF
LD A,D_ROM16OFF LD A,D_ROM16OFF
OUT (SYS_PORT_ON),A OUT (SYS_PORT_ON),A
@ -48,17 +47,20 @@ START:
HD_CMD_XR_RET: HD_CMD_XR_RET:
RET RET
;***********************************************************************;
BLOCK #3FD7-$,255
HD_CMD_XR: HD_CMD_XR:
JP HD_CMD JP HD_CMD
;************************ ;***********************************************************************;
;!FIXIT not used
BLOCK #3FE0-$,255 BLOCK #3FE0-$,255
SND_TEST_RET: SND_TEST_RET:
LD A,D_ROM16OFF LD A,D_ROM16OFF
OUT (SYS_PORT_OFF),A OUT (SYS_PORT_OFF),A
JP SND_TEST_RET JP SND_TEST_RET
;*************************** ;***********************************************************************;
BLOCK #3FE8-$,255 BLOCK #3FE8-$,255
HD_EXP_RET: HD_EXP_RET:
PUSH AF PUSH AF
@ -69,8 +71,8 @@ HD_EXP_RET:
; ;
JP HD_EXP_EXE JP HD_EXP_EXE
;***********************************************************************;
BLOCK #3FF0-$,255 BLOCK #3FF0-$,255
HD_DOS_RET: HD_DOS_RET:
PUSH AF PUSH AF
DI DI
@ -78,13 +80,15 @@ HD_DOS_RET:
OUT (SYS_PORT_OFF),A OUT (SYS_PORT_OFF),A
JR HD_CMD_XR JR HD_CMD_XR
;***********************************************************************;
BLOCK #3FF8-$,255
EXP_FNS_RET: EXP_FNS_RET:
PUSH AF PUSH AF
LD A,D_ROM16OFF LD A,D_ROM16OFF
OUT (SYS_PORT_OFF),A OUT (SYS_PORT_OFF),A
JP HD_CMD_XR_RET JP HD_CMD_XR_RET
;****************************************** ;***********************************************************************;
BLOCK #4000-$,255 BLOCK #4000-$,255
; ;
; ;