убран баг XLAT
This commit is contained in:
parent
c8b5e323a5
commit
959648169a
@ -1 +1 @@
|
|||||||
Subproject commit 68681fbc50da463f1debae860e6db64603886d39
|
Subproject commit 18c132c6e9b507cb92d2144f5497278f021a0292
|
||||||
@ -51,7 +51,7 @@ FDD_5x.GETMED:
|
|||||||
ELSE
|
ELSE
|
||||||
LD HL,(FDD_INI_TABLE.FDD_0.SECTORS)
|
LD HL,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||||
LD DE,(FDD_INI_TABLE.FDD_0.CYLINDL)
|
LD DE,(FDD_INI_TABLE.FDD_0.CYLINDL)
|
||||||
LD IX,(FDD_INI_TABLE.FDD_0.B_P_S)
|
LD IX,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||||
LD A,(FDD_INI_TABLE.FDD_0.F144)
|
LD A,(FDD_INI_TABLE.FDD_0.F144)
|
||||||
ENDIF
|
ENDIF
|
||||||
LD B,A
|
LD B,A
|
||||||
@ -102,7 +102,7 @@ FDD_5x.SETMED:
|
|||||||
LD A,B
|
LD A,B
|
||||||
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL
|
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL
|
||||||
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE
|
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE
|
||||||
LD (FDD_INI_TABLE.FDD_0.B_P_S),IX
|
LD (FDD_INI_TABLE.FDD_0.BytesPerSector),IX
|
||||||
LD (FDD_INI_TABLE.FDD_0.F144),A
|
LD (FDD_INI_TABLE.FDD_0.F144),A
|
||||||
ENDIF
|
ENDIF
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -200,7 +200,7 @@ FDD_5x.LONG_READ:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD IY,(FDD_INI_TABLE.FDD_0.B_P_S)
|
LD IY,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||||
LD XH,C
|
LD XH,C
|
||||||
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||||
LD C,A
|
LD C,A
|
||||||
@ -347,7 +347,7 @@ FDD_5x.LONG_WRITE:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD IY,(FDD_INI_TABLE.FDD_0.B_P_S)
|
LD IY,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||||
LD XH,C
|
LD XH,C
|
||||||
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||||
LD C,A
|
LD C,A
|
||||||
|
|||||||
@ -227,6 +227,7 @@ EMM.FreeMemRMD:
|
|||||||
;------[
|
;------[
|
||||||
; Žá¢®¡®¤¨âì ¡«®ª ¯ ¬ïâ¨
|
; Žá¢®¡®¤¨âì ¡«®ª ¯ ¬ïâ¨
|
||||||
; ‚室: A - <20>€—€‹Ž –…<E28093>Ž—Šˆ
|
; ‚室: A - <20>€—€‹Ž –…<E28093>Ž—Šˆ
|
||||||
|
; <20>… <20>Ž<EFBFBD>’ˆ’œ DE!!!
|
||||||
;EMM_FN3M:
|
;EMM_FN3M:
|
||||||
EMM.FreeMem:
|
EMM.FreeMem:
|
||||||
AND A
|
AND A
|
||||||
@ -242,7 +243,7 @@ EMM.FreeMem:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
|
|
||||||
LD H,high (SYS_PAGE.RAMD_FAT); - #4000 - #4000) ; !FIXIT SAFE_RGADR +
|
LD H,high (SYS_PAGE.RAMD_FAT)
|
||||||
LD A,L
|
LD A,L
|
||||||
EMM_F3M_L1:
|
EMM_F3M_L1:
|
||||||
LD L,A
|
LD L,A
|
||||||
|
|||||||
@ -430,6 +430,7 @@ REINIT: DEC B
|
|||||||
|
|
||||||
;
|
;
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
; ¥ ¤®«¦® ¯®àâ¨âì DE
|
||||||
SET_ROM_FLAG_ZX:
|
SET_ROM_FLAG_ZX:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
|
|||||||
43
src/bios/rom/SETUP/IM2_INT.asm
Normal file
43
src/bios/rom/SETUP/IM2_INT.asm
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
;
|
||||||
|
before_intPointer EQU $
|
||||||
|
BLOCK #FF - low $,0 ; ¢ëà ¢¨¢ ¨¥ #xxFF
|
||||||
|
INT_POINTER: WORD 0
|
||||||
|
|
||||||
|
ASSERT +low INT_POINTER = #FF, 'ERROR! Not valid interrupt pointer!'
|
||||||
|
IFDEF PREBUILD
|
||||||
|
ASSERT INT_POINTER-before_intPointer < 16, 'Warning! To much space before INT_POINTER.'
|
||||||
|
ELSE
|
||||||
|
IF INT_POINTER-before_intPointer > 16
|
||||||
|
DISPLAY 'Warning! To much space before INT_POINTER: ',/D,INT_POINTER-before_intPointer
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
INT_HANDLER:
|
||||||
|
PUSH AF
|
||||||
|
EX AF,AF'
|
||||||
|
PUSH AF
|
||||||
|
PUSH BC
|
||||||
|
PUSH DE
|
||||||
|
PUSH HL
|
||||||
|
EXX
|
||||||
|
PUSH BC
|
||||||
|
PUSH DE
|
||||||
|
PUSH HL
|
||||||
|
PUSH IX
|
||||||
|
PUSH IY
|
||||||
|
CALL KEYSCAN
|
||||||
|
POP IY
|
||||||
|
POP IX
|
||||||
|
POP HL
|
||||||
|
POP DE
|
||||||
|
POP BC
|
||||||
|
EXX
|
||||||
|
POP HL
|
||||||
|
POP DE
|
||||||
|
POP BC
|
||||||
|
POP AF
|
||||||
|
EX AF,AF'
|
||||||
|
POP AF
|
||||||
|
EI
|
||||||
|
RETI
|
||||||
|
;
|
||||||
@ -51,7 +51,7 @@ SF_ALT EQU 1
|
|||||||
SF_BUFF EQU 0
|
SF_BUFF EQU 0
|
||||||
DB 3
|
DB 3
|
||||||
;
|
;
|
||||||
UNCODE: DW 0000
|
;UNCODE: DW 0000
|
||||||
;
|
;
|
||||||
|
|
||||||
; D15 - LShift
|
; D15 - LShift
|
||||||
@ -159,9 +159,9 @@ FULL_BF:
|
|||||||
BIT SF_BUFF,(IX+SOUND_K)
|
BIT SF_BUFF,(IX+SOUND_K)
|
||||||
JR Z,.FBF
|
JR Z,.FBF
|
||||||
EXX
|
EXX
|
||||||
LD DE,230
|
LD DE,230
|
||||||
LD HL,50
|
LD HL,50
|
||||||
CALL BEEP
|
CALL BEEP
|
||||||
EXX
|
EXX
|
||||||
.FBF: EX AF,AF'
|
.FBF: EX AF,AF'
|
||||||
RET
|
RET
|
||||||
@ -185,15 +185,25 @@ RESCANN:
|
|||||||
JR Z,F0_KEY
|
JR Z,F0_KEY
|
||||||
CP #E0
|
CP #E0
|
||||||
JR Z,E0_KEY
|
JR Z,E0_KEY
|
||||||
CP #E1
|
;
|
||||||
JR Z,E1_KEY
|
CP #E1
|
||||||
|
IF USE_E1_SCANCODE
|
||||||
|
JR Z,E1_KEY
|
||||||
|
ELSE
|
||||||
|
JR Z,RESCANN
|
||||||
|
ENDIF
|
||||||
|
;
|
||||||
BIT FLAG_F0,(IX+KEYFLG)
|
BIT FLAG_F0,(IX+KEYFLG)
|
||||||
JR NZ,UN_KEY
|
JR NZ,UN_KEY
|
||||||
|
;
|
||||||
LD L,A
|
LD L,A
|
||||||
CALL XLAT
|
CALL XLAT
|
||||||
CALL SHIFTS
|
CALL SHIFTS
|
||||||
RES FLAG_E0,(IX+KEYFLG)
|
RES FLAG_E0,(IX+KEYFLG)
|
||||||
RES FLAG_E1,(IX+KEYFLG)
|
IF USE_E1_SCANCODE
|
||||||
|
RES FLAG_E1,(IX+KEYFLG)
|
||||||
|
ENDIF
|
||||||
|
;
|
||||||
;[ ] 29/02/2024 ¢ë£à¥¡á⨠¢¥áì ¡ãä¥à
|
;[ ] 29/02/2024 ¢ë£à¥¡á⨠¢¥áì ¡ãä¥à
|
||||||
JR Z,RESCANN ;IT'S SHIFT KEY
|
JR Z,RESCANN ;IT'S SHIFT KEY
|
||||||
; RET Z ;IT'S SHIFT KEY
|
; RET Z ;IT'S SHIFT KEY
|
||||||
@ -235,7 +245,7 @@ RESCANN:
|
|||||||
;-----------------------;
|
;-----------------------;
|
||||||
LD BC,(KEYFLAG)
|
LD BC,(KEYFLAG)
|
||||||
CALL PUTSYM
|
CALL PUTSYM
|
||||||
RET
|
JP RESCANN
|
||||||
|
|
||||||
E0_KEY: SET FLAG_E0,(IX+KEYFLG)
|
E0_KEY: SET FLAG_E0,(IX+KEYFLG)
|
||||||
JR RESCANN
|
JR RESCANN
|
||||||
@ -243,41 +253,43 @@ E0_KEY: SET FLAG_E0,(IX+KEYFLG)
|
|||||||
F0_KEY: SET FLAG_F0,(IX+KEYFLG)
|
F0_KEY: SET FLAG_F0,(IX+KEYFLG)
|
||||||
JR RESCANN
|
JR RESCANN
|
||||||
|
|
||||||
E1_KEY: SET FLAG_E1,(IX+KEYFLG)
|
IF USE_E1_SCANCODE
|
||||||
JR RESCANN
|
E1_KEY: SET FLAG_E1,(IX+KEYFLG)
|
||||||
|
JR RESCANN
|
||||||
|
ENDIF
|
||||||
|
|
||||||
UN_KEY: RES FLAG_F0,(IX+KEYFLG)
|
UN_KEY: RES FLAG_F0,(IX+KEYFLG)
|
||||||
LD L,A
|
LD L,A
|
||||||
CALL XLAT
|
CALL XLAT
|
||||||
CALL UNSHIFT
|
CALL UNSHIFT
|
||||||
RES FLAG_E0,(IX+KEYFLG)
|
RES FLAG_E0,(IX+KEYFLG)
|
||||||
LD H,0
|
;LD H,0
|
||||||
LD (UNCODE),HL
|
;LD (UNCODE),HL
|
||||||
RET
|
RET
|
||||||
|
|
||||||
CAPS_X: LD A,(IX+K_LOCK)
|
CAPS_X: LD A,(KEYFLAG)
|
||||||
XOR #01
|
XOR 1<<CAPS_L
|
||||||
LD (IX+K_LOCK),A
|
LD (KEYFLAG),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
INS_X: LD A,(IX+K_LOCK)
|
INS_X: LD A,(KEYFLAG)
|
||||||
XOR #02
|
XOR 1<<INS_L
|
||||||
LD (IX+K_LOCK),A
|
LD (KEYFLAG),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
NUM_X: LD A,(IX+K_LOCK)
|
NUM_X: LD A,(KEYFLAG)
|
||||||
XOR #08
|
XOR 1<<NUM_L
|
||||||
LD (IX+K_LOCK),A
|
LD (KEYFLAG),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
PAUSE_X:
|
PAUSE_X:
|
||||||
BIT X_CTRL,(IX+K_SHIFT)
|
BIT X_CTRL,(IX+K_SHIFT)
|
||||||
RET Z
|
RET Z
|
||||||
POP HL
|
POP HL
|
||||||
LD A,(IX+K_LOCK)
|
LD A,(KEYFLAG)
|
||||||
XOR #40
|
XOR 1<<PAUSE_L
|
||||||
LD (IX+K_LOCK),A
|
LD (KEYFLAG),A
|
||||||
BIT PAUSE_L,(IX+K_LOCK)
|
AND 1<<PAUSE_L
|
||||||
RET Z
|
RET Z
|
||||||
EI
|
EI
|
||||||
.loop: HALT
|
.loop: HALT
|
||||||
@ -286,9 +298,9 @@ PAUSE_X:
|
|||||||
DI
|
DI
|
||||||
RET
|
RET
|
||||||
|
|
||||||
SCL_X: LD A,(IX+K_LOCK)
|
SCL_X: LD A,(KEYFLAG)
|
||||||
XOR #04
|
XOR 1<<SCRL_L
|
||||||
LD (IX+K_LOCK),A
|
LD (KEYFLAG),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
;///////////////////////////////////////////////////////////////////////
|
;///////////////////////////////////////////////////////////////////////
|
||||||
@ -376,7 +388,6 @@ SCL_X: LD A,(IX+K_LOCK)
|
|||||||
;;
|
;;
|
||||||
UNSHIFT:
|
UNSHIFT:
|
||||||
LD A,L
|
LD A,L
|
||||||
|
|
||||||
CP #37 ;L ALT
|
CP #37 ;L ALT
|
||||||
JR Z,.L_ALT
|
JR Z,.L_ALT
|
||||||
CP #39 ;R ALT
|
CP #39 ;R ALT
|
||||||
@ -422,7 +433,6 @@ UNSHIFT:
|
|||||||
;;
|
;;
|
||||||
SHIFTS:
|
SHIFTS:
|
||||||
LD A,L
|
LD A,L
|
||||||
|
|
||||||
CP #37 ;L ALT
|
CP #37 ;L ALT
|
||||||
JR Z,.L_ALT
|
JR Z,.L_ALT
|
||||||
CP #39 ;R ALT
|
CP #39 ;R ALT
|
||||||
@ -498,7 +508,8 @@ SHF2TAB:
|
|||||||
DB #00,#00,#00,"/","*","-","+",Ent,#00
|
DB #00,#00,#00,"/","*","-","+",Ent,#00
|
||||||
DB #00,#00,#00,#00,#00,#00,#00,#00,#00,#00
|
DB #00,#00,#00,#00,#00,#00,#00,#00,#00,#00
|
||||||
|
|
||||||
_mInfoALIGN 256,0
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
; _mInfoALIGN 256,0 ; ¡¥§ ¢ëà ¢¨¢ ¨ï
|
||||||
XLAT_T:
|
XLAT_T:
|
||||||
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
|
||||||
DB #00,#43,#00,#3F,#3D,#3B,#3C,#46,#00,#44,#42,#40,#3E,#0F,#00,#00 ;00
|
DB #00,#43,#00,#3F,#3D,#3B,#3C,#46,#00,#44,#42,#40,#3E,#0F,#00,#00 ;00
|
||||||
@ -510,6 +521,9 @@ XLAT_T:
|
|||||||
DB #00,#00,#00,#00,#00,#00,#0E,#00,#00,#51,#00,#54,#57,#00,#00,#00 ;60
|
DB #00,#00,#00,#00,#00,#00,#0E,#00,#00,#51,#00,#54,#57,#00,#00,#00 ;60
|
||||||
DB #50,#4F,#52,#55,#56,#58,#01,#49,#45,#4D,#53,#4C,#4B,#59,#48,#00 ;70
|
DB #50,#4F,#52,#55,#56,#58,#01,#49,#45,#4D,#53,#4C,#4B,#59,#48,#00 ;70
|
||||||
DB #00,#00,#00,#41,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00 ;80
|
DB #00,#00,#00,#41,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00,#00 ;80
|
||||||
|
XLAT_T.Size EQU $-XLAT_T
|
||||||
|
///////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
XLAT: BIT FLAG_E0,(IX+KEYFLG)
|
XLAT: BIT FLAG_E0,(IX+KEYFLG)
|
||||||
JR Z,W_O_E0
|
JR Z,W_O_E0
|
||||||
@ -534,8 +548,24 @@ XLAT: BIT FLAG_E0,(IX+KEYFLG)
|
|||||||
RET Z
|
RET Z
|
||||||
|
|
||||||
LD L,A
|
LD L,A
|
||||||
W_O_E0: LD H,high XLAT_T
|
W_O_E0: ; â ¡«¨æ á ¢ëà ¢¨¢ ¨¥¬ 256
|
||||||
LD L,(HL)
|
; LD H,high XLAT_T
|
||||||
|
; LD L,(HL)
|
||||||
|
;
|
||||||
|
; ¡¥§ ¢ëà ¢¨¢ ¨ï
|
||||||
|
; [ ] 31/03/2024 ¨á¯à ¢«¥ ¡ £ á ¢ë室®¬ § £à ¨æë â ¡«¨æë XLAT_T
|
||||||
|
CP XLAT_T.Size
|
||||||
|
LD L,0
|
||||||
|
RET NC
|
||||||
|
;
|
||||||
|
LD HL,XLAT_T
|
||||||
|
ADD A,L
|
||||||
|
LD L,A
|
||||||
|
JR NC,.no_inc
|
||||||
|
INC H
|
||||||
|
.no_inc:
|
||||||
|
LD L,(HL)
|
||||||
|
RET
|
||||||
RET
|
RET
|
||||||
|
|
||||||
; !TODO ¯®á¬®âà¥âì
|
; !TODO ¯®á¬®âà¥âì
|
||||||
@ -543,41 +573,36 @@ W_O_E0: LD H,high XLAT_T
|
|||||||
; BIT 1,(IX+1) ;00110000
|
; BIT 1,(IX+1) ;00110000
|
||||||
; JR NZ,FN_KEY ;LRCAcaRP
|
; JR NZ,FN_KEY ;LRCAcaRP
|
||||||
|
|
||||||
INPCODE:
|
INPCODE: LD D,L
|
||||||
LD D,L
|
LD E,0
|
||||||
LD E,0
|
; !TODO ¢¥àãâì àãá᪨©? € § 祬?
|
||||||
; BIT LANG_L,(IX+K_LOCK) ; !TODO ¢¥àãâì àãá᪨©? € § 祬?
|
; BIT LANG_L,(IX+K_LOCK)
|
||||||
; JP NZ,RUSCODE
|
; JP NZ,RUSCODE
|
||||||
LD A,(IX+K_SHIFT)
|
LD A,(KEYCTRL)
|
||||||
AND #C0
|
AND 1<<L_SHIFT | 1<<R_SHIFT
|
||||||
JR NZ,SHIFT_L
|
JR NZ,.SHIFT
|
||||||
SET 7,D
|
SET 7,D
|
||||||
BIT X_ALT,(IX+K_SHIFT)
|
BIT X_ALT,(IX+K_SHIFT)
|
||||||
RET NZ
|
RET NZ
|
||||||
BIT X_CTRL,(IX+K_SHIFT)
|
BIT X_CTRL,(IX+K_SHIFT)
|
||||||
RET NZ
|
RET NZ
|
||||||
LD D,L
|
LD D,L
|
||||||
BIT CAPS_L,(IX+K_LOCK)
|
BIT CAPS_L,(IX+K_LOCK)
|
||||||
LD BC,CAPSTAB
|
LD BC,CAPSTAB
|
||||||
JR NZ,CONVER
|
JR NZ,CONVERT.NO_SET
|
||||||
LD BC,NORMTAB
|
LD BC,NORMTAB
|
||||||
CONVER:
|
JR CONVERT.NO_SET
|
||||||
LD H,0
|
;
|
||||||
ADD HL,BC
|
.SHIFT: LD BC,SHIFTAB
|
||||||
LD E,(HL)
|
BIT CAPS_L,(IX+K_LOCK)
|
||||||
RET
|
JR Z,CONVERT.SET
|
||||||
|
LD BC,SHF2TAB
|
||||||
SHIFT_L:
|
CONVERT: ;
|
||||||
LD BC,SHIFTAB
|
.SET: SET 7,D
|
||||||
BIT CAPS_L,(IX+K_LOCK)
|
.NO_SET: LD H,0
|
||||||
JR Z,CONVER5
|
ADD HL,BC
|
||||||
LD BC,SHF2TAB
|
LD E,(HL)
|
||||||
CONVER5:
|
RET
|
||||||
LD H,0
|
|
||||||
ADD HL,BC
|
|
||||||
LD E,(HL)
|
|
||||||
SET 7,D
|
|
||||||
RET
|
|
||||||
|
|
||||||
; !TODO ¢¥àãâì àãá᪨©? € § 祬?
|
; !TODO ¢¥àãâì àãá᪨©? € § 祬?
|
||||||
;RUSCODE LD A,(IX+K_SHIFT)
|
;RUSCODE LD A,(IX+K_SHIFT)
|
||||||
@ -698,28 +723,27 @@ Ent EQU #0D
|
|||||||
;
|
;
|
||||||
;================================
|
;================================
|
||||||
|
|
||||||
BEEP: LD A,#10
|
BEEP: LD A,#10
|
||||||
OUT (#FE),A
|
OUT (ZX_Beeper),A
|
||||||
LD B,D
|
LD B,D
|
||||||
LD C,E
|
LD C,E
|
||||||
BPP: DEC BC
|
.loop1: DEC BC
|
||||||
LD A,B
|
LD A,B
|
||||||
OR C
|
OR C
|
||||||
JR NZ,BPP
|
JR NZ,.loop1
|
||||||
LD A,#00
|
XOR A ;LD A,#00
|
||||||
OUT (#FE),A
|
OUT (ZX_Beeper),A
|
||||||
LD B,D
|
LD B,D
|
||||||
LD C,E
|
LD C,E
|
||||||
BPP2:
|
.loop2: DEC BC
|
||||||
DEC BC
|
LD A,B
|
||||||
LD A,B
|
OR C
|
||||||
OR C
|
JR NZ,.loop2
|
||||||
JR NZ,BPP2
|
DEC HL
|
||||||
DEC HL
|
LD A,H
|
||||||
LD A,H
|
OR L
|
||||||
OR L
|
JR NZ,BEEP
|
||||||
JR NZ,BEEP
|
RET
|
||||||
RET
|
|
||||||
|
|
||||||
;COM_A EQU #19 Z84.SIO.Ch_A.Ctrl
|
;COM_A EQU #19 Z84.SIO.Ch_A.Ctrl
|
||||||
;DAT_A EQU #18 Z84.SIO.Ch_A.Data
|
;DAT_A EQU #18 Z84.SIO.Ch_A.Data
|
||||||
|
|||||||
@ -299,48 +299,49 @@ CLEARM: IN A,(SLOT3)
|
|||||||
|
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
before_intPointer EQU $
|
; before_intPointer EQU $
|
||||||
BLOCK #FF - low $,0 ; ¢ëà ¢¨¢ ¨¥ #xxFF
|
; BLOCK #FF - low $,0 ; ¢ëà ¢¨¢ ¨¥ #xxFF
|
||||||
INT_POINTER: WORD 0
|
; INT_POINTER: WORD 0
|
||||||
|
|
||||||
ASSERT +low INT_POINTER = #FF, 'ERROR! Not valid interrupt pointer!'
|
; ASSERT +low INT_POINTER = #FF, 'ERROR! Not valid interrupt pointer!'
|
||||||
IFDEF PREBUILD
|
; IFDEF PREBUILD
|
||||||
ASSERT INT_POINTER-before_intPointer < 16, 'Warning! To much space before INT_POINTER.'
|
; ASSERT INT_POINTER-before_intPointer < 16, 'Warning! To much space before INT_POINTER.'
|
||||||
ELSE
|
; ELSE
|
||||||
IF INT_POINTER-before_intPointer > 16
|
; IF INT_POINTER-before_intPointer > 16
|
||||||
DISPLAY 'Warning! To much space before INT_POINTER: ',/D,INT_POINTER-before_intPointer
|
; DISPLAY 'Warning! To much space before INT_POINTER: ',/D,INT_POINTER-before_intPointer
|
||||||
ENDIF
|
; ENDIF
|
||||||
ENDIF
|
; ENDIF
|
||||||
|
|
||||||
|
; INT_HANDLER:
|
||||||
|
; PUSH AF
|
||||||
|
; EX AF,AF'
|
||||||
|
; PUSH AF
|
||||||
|
; PUSH BC
|
||||||
|
; PUSH DE
|
||||||
|
; PUSH HL
|
||||||
|
; EXX
|
||||||
|
; PUSH BC
|
||||||
|
; PUSH DE
|
||||||
|
; PUSH HL
|
||||||
|
; PUSH IX
|
||||||
|
; PUSH IY
|
||||||
|
; CALL KEYSCAN
|
||||||
|
; POP IY
|
||||||
|
; POP IX
|
||||||
|
; POP HL
|
||||||
|
; POP DE
|
||||||
|
; POP BC
|
||||||
|
; EXX
|
||||||
|
; POP HL
|
||||||
|
; POP DE
|
||||||
|
; POP BC
|
||||||
|
; POP AF
|
||||||
|
; EX AF,AF'
|
||||||
|
; POP AF
|
||||||
|
; EI
|
||||||
|
; RETI
|
||||||
|
; ;
|
||||||
|
|
||||||
INT_HANDLER:
|
|
||||||
PUSH AF
|
|
||||||
EX AF,AF'
|
|
||||||
PUSH AF
|
|
||||||
PUSH BC
|
|
||||||
PUSH DE
|
|
||||||
PUSH HL
|
|
||||||
EXX
|
|
||||||
PUSH BC
|
|
||||||
PUSH DE
|
|
||||||
PUSH HL
|
|
||||||
PUSH IX
|
|
||||||
PUSH IY
|
|
||||||
CALL KEYSCAN
|
|
||||||
POP IY
|
|
||||||
POP IX
|
|
||||||
POP HL
|
|
||||||
POP DE
|
|
||||||
POP BC
|
|
||||||
EXX
|
|
||||||
POP HL
|
|
||||||
POP DE
|
|
||||||
POP BC
|
|
||||||
POP AF
|
|
||||||
EX AF,AF'
|
|
||||||
POP AF
|
|
||||||
EI
|
|
||||||
RETI
|
|
||||||
;
|
|
||||||
INT_OFF:
|
INT_OFF:
|
||||||
DI
|
DI
|
||||||
LD A,#3F
|
LD A,#3F
|
||||||
@ -1190,6 +1191,10 @@ CNF_VER_PRINT:
|
|||||||
; LD BC,#0A86
|
; LD BC,#0A86
|
||||||
; JP_to_BIOS
|
; JP_to_BIOS
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
INCLUDE 'IM2_INT.asm'
|
||||||
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
PRNHEX: LD D,A
|
PRNHEX: LD D,A
|
||||||
RRCA
|
RRCA
|
||||||
RRCA
|
RRCA
|
||||||
@ -1243,6 +1248,7 @@ PRNTIME:
|
|||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
RET
|
RET
|
||||||
|
|
||||||
|
|
||||||
PMEMORY:
|
PMEMORY:
|
||||||
ADD HL,HL
|
ADD HL,HL
|
||||||
ADD HL,HL
|
ADD HL,HL
|
||||||
@ -1387,6 +1393,9 @@ TRDOSX:
|
|||||||
; OUT (SLOT3),A
|
; OUT (SLOT3),A
|
||||||
; RET
|
; RET
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setFRAME:
|
setFRAME:
|
||||||
.double:
|
.double:
|
||||||
LD HL,.dataDoubleAll
|
LD HL,.dataDoubleAll
|
||||||
@ -1432,7 +1441,7 @@ ElementsBuffer:
|
|||||||
INCLUDE 'SETTINGS.asm'
|
INCLUDE 'SETTINGS.asm'
|
||||||
INCLUDE 'KEY.asm'
|
INCLUDE 'KEY.asm'
|
||||||
;.......................................
|
;.......................................
|
||||||
;
|
|
||||||
KEY: EI
|
KEY: EI
|
||||||
JP WAITKEY
|
JP WAITKEY
|
||||||
|
|
||||||
@ -1532,6 +1541,7 @@ PRINT_CHANEL:
|
|||||||
JP LP_PRINT_LINE6
|
JP LP_PRINT_LINE6
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
INCLUDE 'src/bios/ROM/SETUP/messages.z80'
|
INCLUDE 'src/bios/ROM/SETUP/messages.z80'
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|||||||
@ -9,6 +9,8 @@
|
|||||||
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
|
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
|
||||||
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
|
DEFINE StandartCGApallete 1 ; <20>®¤ª«îç âì ¯ «¨âàã ¨§ standart_colors.inc
|
||||||
DEFINE BitStream_SizeInPages 4
|
DEFINE BitStream_SizeInPages 4
|
||||||
|
DEFINE USE_E1_SCANCODE 0
|
||||||
|
|
||||||
|
|
||||||
; ‡ ¤¥à¦ª ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯ (0 = 256)
|
; ‡ ¤¥à¦ª ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯ (0 = 256)
|
||||||
DEFINE LOGO_DELAY_MIN 25
|
DEFINE LOGO_DELAY_MIN 25
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user