mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-17 18:30:35 +03:00
чутка оптимизирован по размеру драйвер мышки
This commit is contained in:
parent
1d24621a28
commit
66e5661218
@ -350,7 +350,7 @@ write_to_: ld a,(disk) ;
|
||||
ret z ; !TODO § £à㧪 á à áè¨à¥®£® à §¤¥« ¥ ¯®¤¤¥à¦¨¢ ¥âáï
|
||||
dec c
|
||||
push bc ; B - PHISICAL DRIVE NUMBER, C - PARTITION RECORD NUMBER IN DRIVE MBR
|
||||
; [ ] 02/02/2024 ¯א®¢¥א× ¢«¥§ ¥¬®בגל § £אד§ח¨× (חג®<D792> ¥ ¯®¯®אג¨גל ה ג)
|
||||
; [x] 02/02/2024 ¯א®¢¥א× ¢«¥§ ¥¬®בגל § £אד§ח¨× (חג®<D792> ¥ ¯®¯®אג¨גל ה ג)
|
||||
LD HL,0
|
||||
LD IX,0
|
||||
LD DE,buffer
|
||||
|
||||
@ -58,6 +58,7 @@
|
||||
include 'API/Read.asm'
|
||||
include 'API/Write.asm'
|
||||
include 'API/Environ.ASM'
|
||||
include 'API/Lib_Sub.asm'
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
; C - #19
|
||||
; HL - ד× § ג¥«ל ה ©«®¢דמ ב¯¥ז¨ה¨× ז¨מ
|
||||
; DE - א <D790>®ח¨© <20>דה¥א 44 <20> ©ג , ¥ב«¨ B=0, ¨ ח¥ 256 <20> ©ג
|
||||
; ;!!!!! α ¬<EFBFBD>¬ €₯«₯ α₯©η α ₯᫨ B=1, ΰ ‘<C2A0>稩 ‘γδ₯ΰ 46 ‘ ©β
|
||||
; ;!!!!! á ¬®¬ ¤¥«¥ ¯®ª çâ® ¥á«¨ B=1, à ¡®ç¨© ¡ãä¥à 46 ¡ ©â
|
||||
; A - גא¨<D790>דגכ, ¨ב¯®«ל§ד¥¬כ¥ ¯א¨ ¯®¨ב×¥
|
||||
; B = 0 - ¨¬ן ©¤¥®£® ה ©« ¢ ה®א¬ ג¥ 11 <20> ©ג "FilenameExt"
|
||||
; B = 1 - ¨¬ן ©¤¥®£® ה ©« ¢ ה®א¬ ג¥ DOS "filename.ext",0
|
||||
|
||||
14
DSS/API/Lib_Sub.asm
Normal file
14
DSS/API/Lib_Sub.asm
Normal file
@ -0,0 +1,14 @@
|
||||
;[ ] 11/02/2024 - ”γ<CEB3>ζ¨ο α ―®―®«ο¥¬λ¬¨ ―®¤δγ<CEB3>ζ¨ο¬¨)))
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; B = 1 ‚λ§®Ά δγ<CEB3>樨 SETUP_CURSORS ¤«ο Ά®ααβ ®Ά«¥¨ο α¨α⥬λε θΰ¨δβ®Ά DSS ;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
LIB_SUB:
|
||||
DJNZ 1F
|
||||
; func B = 1
|
||||
JP SETUP_CURSORS
|
||||
;
|
||||
1: ; func B > 1 or 0
|
||||
SCF
|
||||
RET
|
||||
;
|
||||
;
|
||||
@ -28,7 +28,7 @@ READ: LD (.R_POINT),HL
|
||||
; RR L
|
||||
; RR D
|
||||
; RR E
|
||||
LD H,0
|
||||
LD H,0 ;
|
||||
LD L,(IY+_sFM.F_POSITION+3)
|
||||
LD D,(IY+_sFM.F_POSITION+2)
|
||||
LD E,(IY+_sFM.F_POSITION+1)
|
||||
|
||||
@ -392,7 +392,7 @@ ADRST10: ;DS 512 ;,0
|
||||
DB low FREEMEM, low GETMEM, low RETMEM, low SETMEM, low EXEC, low LEAVE, low WAIT, low GSWITCH, low DOSNAME, low EX_PATH ; 6 3C..45
|
||||
DB low ENVIRON, low APPINFO, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS, low NOPS ; 7 46..4F
|
||||
DB low SETVMOD, low GETVMOD, low LOCATE, low CURSOR, low SELPAGE, low SCROLL, low CLEAR, low RDCHAR, low WRCHAR, low WINCOPY ; 8 50..59
|
||||
DB low WINREST, low PUTCHAR, low PCHARS, low NOPS, low NOPS, low PRINT ; 9 5A..5F
|
||||
DB low WINREST, low PUTCHAR, low PCHARS, low LIB_SUB, low NOPS, low PRINT ; 9 5A..5F
|
||||
|
||||
IFN SHORT_RSTx10_TABLE
|
||||
;[ ] R09
|
||||
@ -419,7 +419,7 @@ ADRST10: ;DS 512 ;,0
|
||||
DB high FREEMEM, high GETMEM, high RETMEM, high SETMEM, high EXEC, high LEAVE, high WAIT, high GSWITCH,high DOSNAME, high EX_PATH
|
||||
DB high ENVIRON, high APPINFO, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS, high NOPS
|
||||
DB high SETVMOD, high GETVMOD, high LOCATE, high CURSOR, high SELPAGE,high SCROLL, high CLEAR, high RDCHAR, high WRCHAR, high WINCOPY
|
||||
DB high WINREST, high PUTCHAR, high PCHARS, high NOPS, high NOPS, high PRINT
|
||||
DB high WINREST, high PUTCHAR, high PCHARS, high LIB_SUB,high NOPS, high PRINT
|
||||
|
||||
IFN SHORT_RSTx10_TABLE
|
||||
;[ ] R09
|
||||
|
||||
@ -340,10 +340,15 @@ LOADDIR:
|
||||
;
|
||||
LD A,(FatBuffer.DRIVE) ; ®¬¥à ¤¨áª
|
||||
LD (IY+_sFM.DRIVE),A ; á®åà. ¢ ¤¥áªà¨¯â®à
|
||||
LD D,(IY+_sFM.ST_CLUSTER) ; de=®¬¥à ¯¥à¢®£® ª« áâ¥à
|
||||
LD E,(IY+_sFM.ST_CLUSTER+1)
|
||||
LD A,D
|
||||
OR E
|
||||
;
|
||||
;LD D,(IY+_sFM.ST_CLUSTER+1) ; de=®¬¥à ¯¥à¢®£® ª« áâ¥à
|
||||
;LD E,(IY+_sFM.ST_CLUSTER)
|
||||
;LD A,D
|
||||
;OR E
|
||||
; ®¬¥à ¯¥à¢®£® ª« áâ¥à
|
||||
LD A,(IY+_sFM.ST_CLUSTER)
|
||||
OR (IY+_sFM.ST_CLUSTER+1)
|
||||
;
|
||||
JP Z,.LROTDIR ; root ??
|
||||
LD HL,DIRPAGE.buffer ; ªã¤
|
||||
LD DE,#4000 ; ᪮«ìª®
|
||||
@ -567,7 +572,7 @@ RD_BPB: LD C,SLOT3
|
||||
.loop1: ADD HL,DE
|
||||
DEC A
|
||||
JR NZ,.loop1
|
||||
LD (FatBuffer.DIR_FRM),HL ; first sector DIR
|
||||
LD (FatBuffer.DIR_FRL),HL ; first sector DIR
|
||||
; CF = ? ¬ «® «¨
|
||||
AND A
|
||||
; CF = 0
|
||||
@ -615,7 +620,7 @@ RD_BPB: LD C,SLOT3
|
||||
LD B,0
|
||||
LD (FatBuffer.DIR_S_S),A
|
||||
ADD HL,BC ; Start DATA area
|
||||
LD (FatBuffer.DAT_FRM),HL
|
||||
LD (FatBuffer.DAT_FRL),HL
|
||||
;!TODO ¥ ¨á¯®«ì§ãîâáï § ç¥¨ï ¢ëç¨á«ï¥¬ë¥ ¨ á®åà ï¥¬ë¥ ¢ FatBuffer
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
;IF COMPILE_UNUSED_CODE
|
||||
@ -706,7 +711,7 @@ RD_BPB: LD C,SLOT3
|
||||
;ENDIF
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
LD DE,(FatBuffer.DAT_FRM)
|
||||
LD DE,(FatBuffer.DAT_FRL)
|
||||
; LD E,(IY+_sBOOT_SEC.HIDDEN) ;Hidden sec
|
||||
; LD D,(IY+_sBOOT_SEC.HIDDEN+1)
|
||||
; AND A
|
||||
@ -805,26 +810,26 @@ DOS_X_Error:
|
||||
;
|
||||
;!TODO ª ¡ãä¥à ¬!
|
||||
FatBuffer:
|
||||
.MSG: DB 'FAT'
|
||||
.READ_PG: DB #00 ;!TODO ¥ ¨á¯®«ì§ãîâáï ¥ª®â®àë¥ § 票ï, ® § ¤ã¬ª ¥¯«®å ï)))
|
||||
.BLOCK: DB #00
|
||||
.DIR_CLU: DW #0000
|
||||
.DRIVE: DB #FF
|
||||
.FAT_FRM:
|
||||
.FAT1_XX: DW #0000 ; MSD_FAT_SEC first sector FAT
|
||||
.FAT2_XX: DW #0000
|
||||
.DIR_FRH: DW #0000 ; MSD_CAT_SEC first sector DIR
|
||||
.DIR_FRL:
|
||||
.DIR_FRM: DW #0000 ; MSD_CAT_SEC first sector DIR
|
||||
.F_P_S: DB #00 ; ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
||||
.DIR_S_S: DB #00 ; DIR_SEC_SIZE
|
||||
.DAT_FRM: DW #0000 ; MSD_DAT_SEC
|
||||
.MSG: DB 'FAT'
|
||||
.READ_PG: DB #00 ;!TODO ¥ ¨á¯®«ì§ãîâáï ¥ª®â®àë¥ § 票ï, ® § ¤ã¬ª ¥¯«®å ï)))
|
||||
.BLOCK: DB #00
|
||||
.DIR_CLU: DW #0000
|
||||
.DRIVE: DB #FF
|
||||
.FAT_FRM:
|
||||
.FAT1_XX: DW #0000 ; MSD_FAT_SEC first sector FAT
|
||||
.FAT2_XX: DW #0000
|
||||
.DIR_FRH: DW #0000 ; MSD_CAT_SEC first sector DIR ; !TODO ®£à ¨ç¥¨¥ ¢ 32 ƒ¨£ ;!FIXIT ¥ ¨á¯®«ì§ã¥âáï
|
||||
.DIR_FRL: DW #0000 ; MSD_CAT_SEC first sector DIR
|
||||
.F_P_S: DB #00 ; ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
||||
.DIR_S_S: DB #00 ; DIR_SEC_SIZE
|
||||
.DAT_FRL: DW #0000 ; MSD_DAT_SEC low
|
||||
;.DAT_FRH: DW #0000 ; MSD_DAT_SEC high ; !TODO ®£à ¨ç¥¨¥ ¢ 32 ƒ¨£ ;!FIXIT ¥ ¨á¯®«ì§ã¥âáï
|
||||
.CLU_LEN:
|
||||
.B_P_C: DW #0000 ; CLUSTER_LEN
|
||||
.C_P_B: DB #00 ; A - Clusters per bank (16k) (ç¨á«® ª« áâ¥à®¢ ¡«®ª އ“) ; ????? íâ® ¨á¯®«ì§ã¥âáï?
|
||||
.FAT_TYP: DB #00 ; TYPE FAT (#32 - 12bit, #36 - 16bit)
|
||||
.S_X_H: DW #0000 ; ª®«¨ç¥á⢮ ᥪâ®à®¢ 樫¨¤à¥ ; ????? íâ® ¨á¯®«ì§ã¥âáï?
|
||||
.ENDCLUS: DW #FFFF
|
||||
.B_P_C: DW #0000 ; CLUSTER_LEN
|
||||
.C_P_B: DB #00 ; A - Clusters per bank (16k) (ç¨á«® ª« áâ¥à®¢ ¡«®ª އ“) ; ????? íâ® ¨á¯®«ì§ã¥âáï?
|
||||
.FAT_TYP: DB #00 ; TYPE FAT (#32 - 12bit, #36 - 16bit)
|
||||
.S_X_H: DW #0000 ; ª®«¨ç¥á⢮ ᥪâ®à®¢ 樫¨¤à¥ ; ????? íâ® ¨á¯®«ì§ã¥âáï?
|
||||
.ENDCLUS: DW #FFFF
|
||||
;
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
;
|
||||
|
||||
@ -442,7 +442,7 @@ GET_FAT12_CELL:
|
||||
; in: HL - CLUSTER
|
||||
; out: HL:IX - SECTOR
|
||||
NSECTOR:
|
||||
LD DE,0
|
||||
LD DE,0 ;!FIXIT for FAT32
|
||||
DEC HL
|
||||
DEC HL
|
||||
LD A,(CORE_BUFFERS.BootSector.S_P_C)
|
||||
@ -460,7 +460,7 @@ NSECTOR:
|
||||
.skip: EX DE,HL
|
||||
LD XL,E
|
||||
LD XH,D
|
||||
LD DE,(FatBuffer.DAT_FRM) ;first data sector
|
||||
LD DE,(FatBuffer.DAT_FRL) ;first data sector
|
||||
XOR A
|
||||
ADD IX,DE
|
||||
LD D,A
|
||||
@ -962,7 +962,7 @@ FAT_Max_Cluster: WORD #0FF0 ;
|
||||
; JR NC,ADD_DE2
|
||||
; INC HL
|
||||
; ADD_DE2: DJNZ ADD_DE1
|
||||
; LD DE,(FatBuffer.DAT_FRM) ;first data sector
|
||||
; LD DE,(FatBuffer.DAT_FRL) ;first data sector
|
||||
; ADD IX,DE
|
||||
; LD DE,#0000
|
||||
; ADC HL,DE
|
||||
|
||||
519
DSS/INTMOUSE.ASM
519
DSS/INTMOUSE.ASM
@ -158,9 +158,9 @@ M_RESR LD A,DSS_Error.mouse.INVALID_COMMAND
|
||||
;!TODO ¡¨®á.
|
||||
MS_INIT DI
|
||||
;!TEST mouse
|
||||
;LD A,85
|
||||
;LD A,#55
|
||||
;OUT (#10),A
|
||||
;LD A,45
|
||||
;LD A,#2D
|
||||
;OUT (#10),A
|
||||
;
|
||||
XOR A ;LD A,0
|
||||
@ -176,9 +176,7 @@ MS_INIT DI
|
||||
LD A,4
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
;!TEST mouse
|
||||
LD A,#47 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 16 875000/Œ1*Œ2=1215
|
||||
;LD A,#44
|
||||
;LD A,#04 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1 875000/Œ1*Œ2=4807
|
||||
LD A,MOUSE_BAUD.multiplier_1 ; ¯¥à¢ë© ¬®¦¨â¥«ì
|
||||
OUT (PORT_MOUSE.Ctrl),A
|
||||
;
|
||||
LD A,5
|
||||
@ -192,8 +190,7 @@ MS_INIT DI
|
||||
;!TEST mouse
|
||||
LD A,#55
|
||||
OUT (Z84.CTC.Ch_0),A
|
||||
LD A,#2D ; ¢â®à®© ¬®¦¨â¥«ì = 45 875000/Œ1*Œ2=1215
|
||||
;LD A,#B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182 875000/Œ1*Œ2=4807
|
||||
LD A,MOUSE_BAUD.multiplier_2 ; ¢â®à®© ¬®¦¨â¥«ì
|
||||
OUT (Z84.CTC.Ch_0),A
|
||||
;
|
||||
|
||||
@ -211,7 +208,7 @@ MS_SHOW PUSH IX
|
||||
DI
|
||||
CALL MOUSE
|
||||
XOR A
|
||||
LD (REFRESH+1),A
|
||||
LD (REFRESH.hide),A
|
||||
EI
|
||||
POP AF
|
||||
EX AF,AF'
|
||||
@ -228,7 +225,7 @@ MS_HIDD PUSH IX
|
||||
PUSH AF
|
||||
DI
|
||||
LD A,1
|
||||
LD (REFRESH+1),A
|
||||
LD (REFRESH.hide),A
|
||||
CALL RESTORE
|
||||
EI
|
||||
POP AF
|
||||
@ -373,272 +370,253 @@ MS_GSEN
|
||||
LD HL,(SENSEXY)
|
||||
XOR A
|
||||
RET
|
||||
;----------------------------------------------------------------------;
|
||||
|
||||
MOUSET LD (REST_XT+1),HL
|
||||
LD (REST_YT+1),DE
|
||||
;Y
|
||||
SRL D
|
||||
RR E
|
||||
SRL D
|
||||
RR E
|
||||
SRL D
|
||||
RR E
|
||||
LD D,E
|
||||
;X
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
LD E,L
|
||||
|
||||
IN A,(PORT_Y)
|
||||
LD XH,A
|
||||
IN A,(SLOT1)
|
||||
LD XL,A
|
||||
;
|
||||
DI
|
||||
;
|
||||
LD A,#54 ;!HARDCODE video page
|
||||
OUT (SLOT1),A
|
||||
;
|
||||
LD A,D
|
||||
ADD A,A
|
||||
ADD A,A ;Y * 4
|
||||
LD L,A
|
||||
LD H,#43 ;+ #4300
|
||||
;
|
||||
IN A,(RGMOD)
|
||||
RRCA
|
||||
AND #80
|
||||
OR #01
|
||||
ADD A,E
|
||||
OUT (PORT_Y),A
|
||||
INC L
|
||||
LD A,(HL) ;SIMBOL
|
||||
LD BC,(ANDXORS)
|
||||
AND B
|
||||
XOR C
|
||||
LD (HL),A
|
||||
INC L
|
||||
LD A,(HL) ;ATTRIBUT
|
||||
LD BC,(ANDXORA)
|
||||
AND B
|
||||
XOR C
|
||||
LD (HL),A
|
||||
;
|
||||
LD A,XL
|
||||
OUT (SLOT1),A
|
||||
LD A,XH
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
|
||||
RESTORT:
|
||||
REST_XT: LD HL,#0000
|
||||
REST_YT: LD DE,#0000
|
||||
;Y
|
||||
SRL D
|
||||
RR E
|
||||
SRL D
|
||||
RR E
|
||||
SRL D
|
||||
RR E
|
||||
LD D,E
|
||||
;X
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
LD E,L
|
||||
|
||||
IN A,(PORT_Y)
|
||||
LD XH,A
|
||||
IN A,(SLOT1)
|
||||
LD XL,A
|
||||
;
|
||||
DI
|
||||
;
|
||||
LD A,#50
|
||||
OUT (SLOT1),A
|
||||
;
|
||||
LD A,D
|
||||
ADD A,A
|
||||
ADD A,A ;Y * 4
|
||||
LD L,A
|
||||
LD H,#43 ;+ #4300
|
||||
;
|
||||
IN A,(RGMOD)
|
||||
RRCA
|
||||
AND #80
|
||||
OR #01
|
||||
ADD A,E
|
||||
OUT (PORT_Y),A
|
||||
INC L
|
||||
LD A,(HL) ;SIMBOL
|
||||
LD (HL),A
|
||||
INC L
|
||||
LD A,(HL) ;ATTRIBUT
|
||||
LD (HL),A
|
||||
;
|
||||
LD A,XL
|
||||
OUT (SLOT1),A
|
||||
LD A,XH
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
|
||||
;----------------------------------------------------------------------;
|
||||
RESTORE:
|
||||
.sw+1: LD A,#00
|
||||
BIT 7,A
|
||||
JP Z,RESTORT
|
||||
RESTORG IN A,(SLOT3)
|
||||
LD B,A
|
||||
IN A,(PORT_Y)
|
||||
LD C,A
|
||||
PUSH BC
|
||||
LD A,#50 ;!HARDCODE videopage
|
||||
OUT (SLOT3),A
|
||||
REST_X LD HL,0
|
||||
REST_Y LD DE,0
|
||||
LD A,E
|
||||
EX AF,AF'
|
||||
REST_V LD A,#00
|
||||
AND 1
|
||||
LD DE,#C000 ;screen 0
|
||||
JR Z,AA2
|
||||
LD DE,#C000+320 ;screen 1
|
||||
AA2 ADD HL,DE
|
||||
REST_A LD A,0
|
||||
LD XH,A
|
||||
EX AF,AF'
|
||||
REST_H
|
||||
RS002 LD BC,10
|
||||
OUT (PORT_Y),A
|
||||
EX AF,AF'
|
||||
LD (PUSH_HL),HL
|
||||
LD D,H
|
||||
LD E,L
|
||||
LDIR
|
||||
PUSH_HL+1: LD HL,#0000
|
||||
; POP HL
|
||||
EX AF,AF'
|
||||
INC A
|
||||
JR Z,RS003
|
||||
DEC XH
|
||||
JR NZ,RS002
|
||||
RS003 POP BC
|
||||
LD A,B
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
OUT (PORT_Y),A
|
||||
XOR A
|
||||
RET
|
||||
|
||||
.sw+1: LD A,#00
|
||||
BIT 7,A
|
||||
JP Z,.TXT
|
||||
; restore gfx-mode
|
||||
IN A,(SLOT3)
|
||||
LD B,A
|
||||
IN A,(PORT_Y)
|
||||
LD C,A
|
||||
PUSH BC
|
||||
LD A,#50 ;!HARDCODE videopage
|
||||
OUT (SLOT3),A
|
||||
.X+1: LD HL,0
|
||||
.Y+1: LD DE,0
|
||||
LD A,E
|
||||
EX AF,AF'
|
||||
.SCR+1: LD A,0
|
||||
AND 1
|
||||
LD DE,SLOT3.MEM_ADDR ;screen 0
|
||||
JR Z,.adr
|
||||
LD DE,SLOT3.MEM_ADDR+320 ;screen 1
|
||||
.adr: ADD HL,DE
|
||||
.YSize+1: LD A,0
|
||||
LD XH,A
|
||||
EX AF,AF'
|
||||
.loop: ;
|
||||
.Xsize+1: LD BC,10
|
||||
OUT (PORT_Y),A
|
||||
EX AF,AF'
|
||||
LD (.PUSH_HL),HL
|
||||
LD D,H
|
||||
LD E,L
|
||||
LDIR
|
||||
.PUSH_HL+1: LD HL,#0000
|
||||
EX AF,AF'
|
||||
INC A
|
||||
JR Z,.no_dec
|
||||
DEC XH
|
||||
JR NZ,.loop
|
||||
.no_dec: POP BC
|
||||
LD A,B
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
OUT (PORT_Y),A
|
||||
XOR A
|
||||
RET
|
||||
.TXT: ; restore txt-mode
|
||||
.TXT_X+1: LD HL,#0000
|
||||
.TXT_Y+1: LD DE,#0000
|
||||
;
|
||||
IN A,(PORT_Y)
|
||||
LD XH,A
|
||||
IN A,(SLOT3)
|
||||
LD XL,A
|
||||
;
|
||||
LD A,#50
|
||||
;
|
||||
CALL GET_SYMBOL_ADDR
|
||||
;
|
||||
LD (HL),A
|
||||
INC L
|
||||
LD A,(HL) ;ATTRIBUT
|
||||
;JR SET_RESTORE_EXIT
|
||||
;---------------------------------------------------------------;
|
||||
SET_RESTORE_EXIT:
|
||||
LD (HL),A
|
||||
;
|
||||
LD A,XL
|
||||
OUT (SLOT3),A
|
||||
LD A,XH
|
||||
OUT (PORT_Y),A
|
||||
RET
|
||||
;---------------------------------------------------------------;
|
||||
GET_SYMBOL_ADDR:;Y
|
||||
SRL D
|
||||
RR E
|
||||
SRL D
|
||||
RR E
|
||||
SRL D
|
||||
RR E
|
||||
LD D,E
|
||||
;X
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
SRL H
|
||||
RR L
|
||||
LD E,L
|
||||
;
|
||||
DI
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
LD A,D
|
||||
ADD A,A
|
||||
ADD A,A ;Y * 4
|
||||
LD L,A
|
||||
LD H,high (SLOT3.MEM_ADDR + #300) ;#300 - ®¯¨á ⥫¨ íªà
|
||||
;
|
||||
IN A,(SCREEN_SWITCH)
|
||||
RRCA
|
||||
AND #80
|
||||
OR #01
|
||||
ADD A,E
|
||||
OUT (PORT_Y),A
|
||||
INC L
|
||||
LD A,(HL) ;SIMBOL
|
||||
;
|
||||
RET
|
||||
;---------------------------------------------------------------;
|
||||
;----------------------------------------------------------------------;
|
||||
;HL/DE - X/Y
|
||||
MOUSE: LD A,(MODE_M)
|
||||
LD (RESTORE.sw),A
|
||||
BIT 7,A
|
||||
JP NZ,.GFX
|
||||
;
|
||||
; set txt-mode
|
||||
.TXT: LD (RESTORE.TXT_X),HL
|
||||
LD (RESTORE.TXT_Y),DE
|
||||
;
|
||||
IN A,(PORT_Y)
|
||||
LD XH,A
|
||||
IN A,(SLOT3)
|
||||
LD XL,A
|
||||
;
|
||||
LD A,#54
|
||||
;
|
||||
CALL GET_SYMBOL_ADDR
|
||||
;
|
||||
LD BC,(ANDXORS)
|
||||
AND B
|
||||
XOR C
|
||||
LD (HL),A
|
||||
INC L
|
||||
LD A,(HL) ;ATTRIBUT
|
||||
LD BC,(ANDXORA)
|
||||
AND B
|
||||
XOR C
|
||||
JR SET_RESTORE_EXIT
|
||||
;
|
||||
;set gfx-mode
|
||||
.GFX: CP #82 ;640x256x16
|
||||
JR NZ,.NOFIX_640
|
||||
SRL H
|
||||
RR L
|
||||
.NOFIX_640: LD IX,M_IMAGE
|
||||
LD A,(M_XSIZE)
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD (REALXS),BC
|
||||
LD (RESTORE.Xsize),BC
|
||||
LD C,B
|
||||
LD (SKIPXF),BC
|
||||
LD A,(M_YSIZE)
|
||||
LD (RESTORE.YSize),A
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD (REALYS),BC
|
||||
LD BC,(YHOT_SP)
|
||||
LD A,E
|
||||
SUB C
|
||||
LD E,A
|
||||
JR NC,.GOOD_Y
|
||||
NEG
|
||||
LD E,A
|
||||
LD A,(M_XSIZE)
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD A,(M_YSIZE)
|
||||
SUB E
|
||||
.SKIPMY: ADD IX,BC
|
||||
DEC E
|
||||
JR NZ,.SKIPMY
|
||||
LD C,A
|
||||
LD (REALYS),BC
|
||||
.GOOD_Y: LD BC,(XHOT_SP)
|
||||
AND A
|
||||
SBC HL,BC
|
||||
JR NC,.GOOD_X
|
||||
LD B,H
|
||||
LD C,L
|
||||
LD HL,0
|
||||
AND A
|
||||
SBC HL,BC
|
||||
LD (SKIPXF),HL
|
||||
LD A,(M_XSIZE)
|
||||
SUB L
|
||||
LD L,A
|
||||
LD (REALXS),HL
|
||||
LD HL,0
|
||||
.GOOD_X: LD (RESTORE.X),HL
|
||||
LD (RESTORE.Y),DE
|
||||
;
|
||||
PUSH HL
|
||||
IN A,(SLOT3)
|
||||
LD H,A
|
||||
IN A,(PORT_Y)
|
||||
LD L,A
|
||||
EX (SP),HL
|
||||
LD A,#5C ;!HARDCODE videopage
|
||||
OUT (SLOT3),A
|
||||
LD A,E
|
||||
EX AF,AF'
|
||||
IN A,(SCREEN_SWITCH)
|
||||
LD (RESTORE.SCR),A
|
||||
AND 1
|
||||
LD DE,SLOT3.MEM_ADDR ;Screen 0
|
||||
JR Z,.adr
|
||||
LD DE,SLOT3.MEM_ADDR+320 ;Screen 1
|
||||
.adr: ADD HL,DE
|
||||
LD D,XH
|
||||
LD E,XL
|
||||
EX DE,HL ;HL - BITMAP
|
||||
LD BC,(REALYS)
|
||||
LD XH,C
|
||||
EX AF,AF'
|
||||
;
|
||||
.loop: LD BC,(SKIPXF)
|
||||
ADD HL,BC
|
||||
LD BC,(REALXS)
|
||||
OUT (PORT_Y),A
|
||||
EX AF,AF'
|
||||
LD (.PUSH_DE),DE
|
||||
LDIR
|
||||
.PUSH_DE+1: LD DE,#0000
|
||||
EX AF,AF'
|
||||
INC A
|
||||
JR Z,.exit_loop
|
||||
DEC XH
|
||||
JR NZ,.loop
|
||||
;
|
||||
.exit_loop: POP BC
|
||||
LD A,B
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
OUT (PORT_Y),A
|
||||
XOR A
|
||||
RET
|
||||
;----------------------------------------------------------------------;
|
||||
|
||||
MOUSE: LD A,(MODE_M)
|
||||
LD (RESTORE.sw),A
|
||||
BIT 7,A
|
||||
JP Z,MOUSET
|
||||
MOUSEG: CP #82 ;640x256x16
|
||||
JR NZ,NOFX
|
||||
SRL H
|
||||
RR L
|
||||
NOFX: LD IX,M_IMAGE
|
||||
LD A,(M_XSIZE)
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD (REALXS),BC
|
||||
LD (REST_H+1),BC
|
||||
LD C,B
|
||||
LD (SKIPXF),BC
|
||||
LD A,(M_YSIZE)
|
||||
LD (REST_A+1),A
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD (REALYS),BC
|
||||
LD BC,(YHOT_SP)
|
||||
LD A,E
|
||||
SUB C
|
||||
LD E,A
|
||||
JR NC,GOODY
|
||||
NEG
|
||||
LD E,A
|
||||
LD A,(M_XSIZE)
|
||||
LD C,A
|
||||
LD B,0
|
||||
LD A,(M_YSIZE)
|
||||
SUB E
|
||||
SKIPMY: ADD IX,BC
|
||||
DEC E
|
||||
JR NZ,SKIPMY
|
||||
LD C,A
|
||||
LD (REALYS),BC
|
||||
GOODY: LD BC,(XHOT_SP)
|
||||
AND A
|
||||
SBC HL,BC
|
||||
JR NC,GOODX
|
||||
LD B,H
|
||||
LD C,L
|
||||
LD HL,0
|
||||
AND A
|
||||
SBC HL,BC
|
||||
LD (SKIPXF),HL
|
||||
LD A,(M_XSIZE)
|
||||
SUB L
|
||||
LD L,A
|
||||
LD (REALXS),HL
|
||||
LD HL,0
|
||||
GOODX: LD (REST_X+1),HL
|
||||
LD (REST_Y+1),DE
|
||||
|
||||
PUSH HL
|
||||
IN A,(SLOT3)
|
||||
LD H,A
|
||||
IN A,(PORT_Y)
|
||||
LD L,A
|
||||
EX (SP),HL
|
||||
LD A,#5C ;!HARDCODE videopage
|
||||
OUT (SLOT3),A
|
||||
LD A,E
|
||||
EX AF,AF'
|
||||
IN A,(RGMOD)
|
||||
LD (REST_V+1),A
|
||||
AND 1
|
||||
LD DE,#C000 ;PAGE 0
|
||||
JR Z,AA1
|
||||
LD DE,#C000+320 ;PAGE 1
|
||||
AA1 ADD HL,DE
|
||||
LD D,XH
|
||||
LD E,XL
|
||||
EX DE,HL ;HL - BITMAP
|
||||
LD BC,(REALYS)
|
||||
LD XH,C
|
||||
EX AF,AF'
|
||||
MS002 LD BC,(SKIPXF)
|
||||
ADD HL,BC
|
||||
LD BC,(REALXS)
|
||||
OUT (PORT_Y),A
|
||||
EX AF,AF'
|
||||
;PUSH DE
|
||||
LD (PUSH_DE+1),DE
|
||||
LDIR
|
||||
PUSH_DE LD DE,#0000
|
||||
; POP DE
|
||||
EX AF,AF'
|
||||
INC A
|
||||
JR Z,MS003
|
||||
DEC XH
|
||||
JR NZ,MS002
|
||||
MS003 POP BC
|
||||
LD A,B
|
||||
OUT (SLOT3),A
|
||||
LD A,C
|
||||
OUT (PORT_Y),A
|
||||
XOR A
|
||||
RET
|
||||
;----------------------------------------------------------------------;
|
||||
|
||||
READ_M: IN A,(PORT_MOUSE.Ctrl)
|
||||
RRCA
|
||||
@ -893,7 +871,8 @@ CONTROL CALL READ_M
|
||||
LD (REDY),A
|
||||
RET
|
||||
|
||||
REFRESH LD A,#01
|
||||
REFRESH:
|
||||
.hide+1: LD A,#01
|
||||
OR A
|
||||
RET NZ
|
||||
REDY+1: LD A,#00
|
||||
|
||||
@ -179,11 +179,8 @@ ECHOKEY: CALL Cursor_On ;
|
||||
CALL Cursor_Off ; ¢ëª«. ªãàá®à
|
||||
POP AF
|
||||
OR A
|
||||
;!FIXIT scroll § ¬¥¨âì ¢ë¢®¤ ᨬ¢®« ¡¨®á®¬ ¨«¨ WRCHAR
|
||||
; LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||
; RST ToBIOS
|
||||
CALL NZ,PUTCHAR.NO_SCROLL ; ¤®¡ ¢¨« ¢ë¢®¤ "a" íªà
|
||||
;
|
||||
; [x] -bug with Vasil's version of cursor
|
||||
CALL NZ,PUTCHAR.NO_SCROLL ; ¤®¡ ¢¨« ¢ë¢®¤ "a" íªà
|
||||
POP BC
|
||||
POP DE
|
||||
LD A,E
|
||||
@ -261,17 +258,19 @@ cursor_interrupt:
|
||||
|
||||
; <20> áâனª § ª®£¥¥à â®à ªãàá®à ç¥àâ®çª®©
|
||||
SETUP_CURSORS:
|
||||
in a,(SLOT2)
|
||||
.buffer EQU #C000
|
||||
;
|
||||
in a,(SLOT3)
|
||||
push af ; á®åà. ¯®àâ
|
||||
ld a,(BANKTBL+TXTPAGE) ; 2-© «®£. ®¬¥à áâà ¨æë à áè. „Ž‘
|
||||
out (SLOT2),a
|
||||
out (SLOT3),a
|
||||
; ¯®«ãç¨âì á¨áâ. § ª®£¥.
|
||||
ld de,#8000 ;!HARDCODE ¡ãä¥à ¤«ï 2048 ¡ ©â ¤ ëå
|
||||
ld de,.buffer ;!HARDCODE ¡ãä¥à ¤«ï 2048 ¡ ©â ¤ ëå
|
||||
push de
|
||||
ld c,BIOS.WIN_GET_ZG ; ¯®«ãç¨âì § ª®£¥.
|
||||
rst ToBIOS
|
||||
; § ¯®«¨âì ª®¤®¬ #FF 2 ¨¦¨¥ «¨¨¨
|
||||
ld hl,#8000+(2048-(2*256)) ;!HARDCODE ¯®á«¥¤¨¥ 512 ¡ ©â
|
||||
ld hl,.buffer+(2048-(2*256)) ;!HARDCODE ¯®á«¥¤¨¥ 512 ¡ ©â
|
||||
ld bc,511
|
||||
ld a,CURSOR_ZG; ; ®¬¥à § ª®£¥. "ç¥àâ®çª "
|
||||
call .fill_data_font
|
||||
@ -281,7 +280,7 @@ SETUP_CURSORS:
|
||||
ld a,INS_CUR_ZG ; ®¬¥à § ª®£¥. "¡«®ª"
|
||||
call .fill_data_font
|
||||
pop af
|
||||
out (SLOT2),a ; ¢®ááâ. ¯®àâ
|
||||
out (SLOT3),a ; ¢®ááâ. ¯®àâ
|
||||
ret
|
||||
; <20> áâனª § ª®£¥. ¨ ¥£® ॣ¨áâà æ¨ï
|
||||
; ¢å®¤: a=®¬¥à § ª®£¥.
|
||||
@ -293,7 +292,7 @@ SETUP_CURSORS:
|
||||
ld (hl),#FF
|
||||
inc de
|
||||
ldir
|
||||
ld de,#8000 ; § ª®£¥.
|
||||
ld de,.buffer ; § ª®£¥.
|
||||
ld c,BIOS.WIN_SET_ZG ; ãáâ. § ª®£¥.
|
||||
rst ToBIOS
|
||||
ret
|
||||
|
||||
@ -286,7 +286,7 @@ ERROR_BOOTDRV_DIES:
|
||||
RST ToBIOS
|
||||
;
|
||||
LD A,1
|
||||
OUT (RGMOD),A ; set scr-2
|
||||
OUT (SCREEN_SWITCH),A ; set scr-2
|
||||
;
|
||||
LD HL,.ERROR_MSG
|
||||
LD DE,#A000
|
||||
|
||||
@ -313,7 +313,7 @@ FDDRIVE:
|
||||
LD H,B
|
||||
EX DE,HL
|
||||
EXX
|
||||
LD C,0 ;[ ] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||
LD C,0 ;[x] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||
AND A
|
||||
RET
|
||||
|
||||
|
||||
@ -455,7 +455,7 @@ IOCTL_RD:
|
||||
SCF
|
||||
RET
|
||||
|
||||
; C - PARTITION RECORD NUMBER IN DRIVE MBR must be 0 here ;[ ] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||
; C - PARTITION RECORD NUMBER IN DRIVE MBR must be 0 here ;[x] 17.12.2023 § £à㧪 á ªâ¨¢®£® à §¤¥« , ¥ á ¯¥à¢®£®
|
||||
; HL:DE - SECTORS ON LOGICAL DISK
|
||||
; HL' - CYLINDERS ON PHISICAL DISK
|
||||
; DE' - HEADS ON PHISICAL DISK
|
||||
|
||||
@ -47,20 +47,14 @@ PCHARS: LD A,(HL)
|
||||
; ¢ë室: ¥â
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
PUTCHAR:
|
||||
CP #0D
|
||||
JR Z,.CR_
|
||||
CP #0A
|
||||
JR Z,.LF_
|
||||
CP #09
|
||||
JR Z,.TB_
|
||||
CP #08
|
||||
JR Z,.BK_
|
||||
CP #07
|
||||
JR Z,.BELL ; [x] Beep in PChars/PUTCHAR
|
||||
;CALL .NO_SCROLL
|
||||
CP #0E
|
||||
JR C,.control_characters
|
||||
;
|
||||
.CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||
LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||
;[x] CR+LF+SCROLL
|
||||
RST ToBIOS
|
||||
;
|
||||
; ¯à®¢¥àª ¯¥à¥å®¤ ªãàá®à ¢ á ¬®¥ ç «® (X:Y == 0:0)
|
||||
CALL CURSOR
|
||||
LD A,D
|
||||
@ -80,8 +74,7 @@ PUTCHAR:
|
||||
CALL LOCATE
|
||||
POP HL
|
||||
RET
|
||||
.TB_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||
RST ToBIOS
|
||||
.TB_: CALL CURSOR
|
||||
IF TABisSPACES
|
||||
LD B,E
|
||||
LD A,E
|
||||
@ -99,15 +92,13 @@ PUTCHAR:
|
||||
LD E,A
|
||||
JP LOCATE
|
||||
ENDIF
|
||||
.BK_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||
RST ToBIOS
|
||||
.BK_: CALL CURSOR
|
||||
XOR A
|
||||
CP E
|
||||
RET Z
|
||||
DEC E
|
||||
JP LOCATE
|
||||
.LF_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||
RST ToBIOS
|
||||
.LF_: CALL CURSOR
|
||||
LD A,D
|
||||
CP #1F
|
||||
JR NC,.LFF
|
||||
@ -118,8 +109,7 @@ PUTCHAR:
|
||||
CALL LOCATE
|
||||
; !!!! <20>… à §àë¢ âì LF_ ¨ CR_ !!!!
|
||||
ENDIF
|
||||
.CR_: LD C,BIOS.LP_GET_PLACE ;GET CURSOR
|
||||
RST ToBIOS
|
||||
.CR_: CALL CURSOR
|
||||
LD E,0
|
||||
JP LOCATE
|
||||
; [x] Beep in PChars/PUTCHAR
|
||||
@ -132,6 +122,12 @@ PUTCHAR:
|
||||
;
|
||||
; [x] -bug with Vasil's version of cursor
|
||||
.NO_SCROLL:
|
||||
CP #0E
|
||||
JR C,.control_characters
|
||||
._CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||
JP ToBIOS
|
||||
;
|
||||
.control_characters:
|
||||
CP #0D
|
||||
JR Z,.CR_
|
||||
CP #0A
|
||||
@ -142,8 +138,7 @@ PUTCHAR:
|
||||
JR Z,.BK_
|
||||
CP #07
|
||||
JR Z,.BELL ; [x] Beep in PChars/PUTCHAR
|
||||
._CHAR: LD BC,1*256 + BIOS.LP_PRINT_SYM
|
||||
JP ToBIOS
|
||||
RET
|
||||
;-----[]
|
||||
;
|
||||
;
|
||||
@ -397,14 +392,14 @@ GETVMOD:
|
||||
; ”ãªæ¨ï #50. ‚ë¡®à ०¨¬ íªà .
|
||||
;
|
||||
; ¢å®¤: A - ०¨¬ íªà
|
||||
; 02h - ⥪áâ®¢ë© 40x32x16 梥⮢
|
||||
; 03h - ⥪áâ®¢ë© 80x32x16 梥⮢
|
||||
; 81h - £à ä¨ç¥áª¨© 320x256x256 梥⮢
|
||||
; 82h - £à ä¨ç¥áª¨© 640x256x16 梥⮢
|
||||
; #02 - ⼪áâŽ˘ëŠ 40x32x16 梼⎢
|
||||
; #03 - ⼪áâŽ˘ëŠ 80x32x16 梼⎢
|
||||
; #81 - Łŕ ä¨çĽáŞ¨Š 320x256x256 梼⎢
|
||||
; #82 - Łŕ ä¨çĽáŞ¨Š 640x256x16 梼⎢
|
||||
; B - áâà ¨æ íªà 0/1
|
||||
; ¢ë室: A - ª®¤ ®è¨¡ª¨, ¥á«¨ CF=1
|
||||
;/////////////////////////////////////////////////////////////////////
|
||||
SETVMOD:;BIT 7,A
|
||||
SETVMOD:;
|
||||
CP %1000'0000
|
||||
LD C,A
|
||||
JR NC,GRAPH
|
||||
@ -412,10 +407,8 @@ SETVMOD:;BIT 7,A
|
||||
PUSH IX
|
||||
EX AF,AF'
|
||||
LD A,(VMODE)
|
||||
LD (VVMODE),A
|
||||
LD (BACKTXT.VMODE),A
|
||||
EX AF,AF'
|
||||
//INC A
|
||||
//DEC A
|
||||
OR A
|
||||
JR Z,.NOMODE
|
||||
DEC A
|
||||
@ -626,17 +619,18 @@ SAVETXT: PUSH AF
|
||||
PUSH AF
|
||||
LD C,BIOS.LP_GET_PLACE
|
||||
RST ToBIOS
|
||||
LD (TCURS),DE
|
||||
LD (BACKTXT.CURS),DE
|
||||
POP AF
|
||||
LD IX,#C000
|
||||
LD HL,#2050
|
||||
OR A
|
||||
JR NZ,.SVTEXT1
|
||||
LD L,#28
|
||||
.SVTEXT1: LD (SVHL1),HL
|
||||
.SVTEXT1: LD (BACKTXT.WinMax),HL
|
||||
LD DE,#0000
|
||||
LD A,(BANKTBL+TXTPAGE)
|
||||
LD B,A
|
||||
|
||||
LD C,BIOS.WIN_COPY
|
||||
;[x] 29/9/23
|
||||
LD A,R
|
||||
@ -659,7 +653,7 @@ SAVETXT: PUSH AF
|
||||
;----------------------------------------------------------------------
|
||||
|
||||
BACKTXT: PUSH AF
|
||||
VVMODE+1: LD A,#00
|
||||
.VMODE+1: LD A,#00
|
||||
;BIT 7,A
|
||||
CP %1000'0000
|
||||
JR C,NOBACKT
|
||||
@ -669,7 +663,7 @@ VVMODE+1: LD A,#00
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
LD IX,#C000
|
||||
SVHL1+1: LD HL,#2050
|
||||
.WinMax+1: LD HL,#2050
|
||||
LD DE,#0000
|
||||
LD A,(BANKTBL+TXTPAGE)
|
||||
LD B,A
|
||||
@ -683,10 +677,10 @@ SVHL1+1: LD HL,#2050
|
||||
RST ToBIOS
|
||||
;[x] 29/9/23
|
||||
POP AF
|
||||
JP PO,1F
|
||||
JP PO,.no_ei
|
||||
EI
|
||||
1: ;
|
||||
TCURS+1: LD DE,#0000
|
||||
.no_ei: ;
|
||||
.CURS+1: LD DE,#0000
|
||||
CALL LOCATE
|
||||
POP IX
|
||||
POP HL
|
||||
|
||||
@ -1 +1 @@
|
||||
880
|
||||
905
|
||||
@ -7,6 +7,10 @@
|
||||
DEFINE COMPILE_UNUSED_CODE 0
|
||||
;
|
||||
|
||||
;
|
||||
DEFINE MOUSE_COM_BAUD_4800 0
|
||||
;
|
||||
|
||||
;
|
||||
;LD_DSK EQU 16 ; ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ «®£¨ç¥áª¨å HDD ¤¨áª®¢ ¢ á¨á⥬¥
|
||||
|
||||
@ -85,3 +89,17 @@ FMCOUNT EQU 10 ;
|
||||
HANDBUF.SIZE EQU 32
|
||||
;----------------------------------------------------;
|
||||
;
|
||||
|
||||
;
|
||||
;----------------------------------------------------;
|
||||
IF MOUSE_COM_BAUD_4800
|
||||
MOUSE_BAUD:
|
||||
.multiplier_1 EQU #04 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 1. 875000/Œ1*Œ2=4807
|
||||
.multiplier_2 EQU #B6 ; ¢â®à®© ¬®¦¨â¥«ì = 182. 875000/Œ1*Œ2=4807
|
||||
ELSE
|
||||
MOUSE_BAUD:
|
||||
.multiplier_1 EQU #47 ; ¯¥à¢ë© ¬®¦¨â¥«ì = 16. 875000/Œ1*Œ2=1215
|
||||
.multiplier_2 EQU #2D ; ¢â®à®© ¬®¦¨â¥«ì = 45. 875000/Œ1*Œ2=1215
|
||||
ENDIF
|
||||
;----------------------------------------------------;
|
||||
;
|
||||
@ -5,12 +5,10 @@
|
||||
;///////////////////////////////////////////////////
|
||||
cmd_chdir:
|
||||
ex de,hl
|
||||
;ld de,T9186 ; ¡ãä¥à
|
||||
ld de,work_buffer1;
|
||||
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
|
||||
RST ToDSS
|
||||
xor a
|
||||
;ld hl,T9186
|
||||
ld hl,work_buffer1;
|
||||
cp (hl)
|
||||
jr nz,A877B
|
||||
@ -23,9 +21,7 @@ cmd_chdir:
|
||||
dec hl
|
||||
A877B: ld c,Dss.ChDir ; ᬥ¨âì ⥪. ª â «®£
|
||||
RST ToDSS
|
||||
;call c,print_err_message
|
||||
jp c,print_err_message ; ¢ë¢®¤ á®®¡é¥¨ï
|
||||
; call newline
|
||||
jp Get_Path ; á®åà. ⥪. ¤¨áª ¨ ¯ãâì
|
||||
; ; ¢ë¢®¤ á¨áâ. ¯ã⨠íªà
|
||||
; ld c,8Eh ; ã§ âì ¯®«®¦. ªãàá®à
|
||||
|
||||
@ -520,7 +520,7 @@ T8B46: db "0 000 000 000",0
|
||||
db 0
|
||||
;
|
||||
|
||||
; [ ] ג¥¯¥אל ¥ «¥§¥ג ¯אן¬דמ, ¤¥« ¥ג ח¥א¥§ ®¢כ© ¯ א ¬¥גא הד×ז¨¨ DskInfo
|
||||
; [x] ג¥¯¥אל ¥ «¥§¥ג ¯אן¬דמ, ¤¥« ¥ג ח¥א¥§ ®¢כ© ¯ א ¬¥גא הד×ז¨¨ DskInfo
|
||||
; ¨ ï «®£¨ª ¯®«ãç¥¨ï ¬¥âª¨ ⮬ - á ç « ¨é¥âáï ¢ ª®à¥¢®© ¤¨à¥ªâ®à¨¨,
|
||||
; ¥á«¨ â ¬ ¥â, â® ¡¥àñâáï ¨§ BPB
|
||||
read_disk_info:
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 4d37c338c31c060e7a42f1e47fad93b69af34a5b
|
||||
Subproject commit 795ad6ac57585133e1ffb8f0baafb3751dda576c
|
||||
Loading…
Reference in New Issue
Block a user