mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
fixet bug with small partitions. Some small fixes
This commit is contained in:
parent
201fa03a29
commit
6af1575f2b
@ -66,6 +66,7 @@
|
|||||||
include 'API/Environ.ASM'
|
include 'API/Environ.ASM'
|
||||||
include 'API/Lib_Sub.asm'
|
include 'API/Lib_Sub.asm'
|
||||||
include "API/EXECUTE.ASM"
|
include "API/EXECUTE.ASM"
|
||||||
|
include "API/Print.asm"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
74
DSS/API/Print.asm
Normal file
74
DSS/API/Print.asm
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
;///////////////////////////////////////////////////////////////////////
|
||||||
|
; ”ãªæ¨ï #5F. ‚뢮¤ ᨬ¢®« ¯à¨â¥à ¡¥§ ®¦¨¤ ¨ï.
|
||||||
|
;
|
||||||
|
; ˆâ¥à¯à¥â æ¨ï ¡ ©â á®áâ®ï¨ï ¯à¨â¥à :
|
||||||
|
; 0..2 - ¥ ¨á¯®«ì§ãîâáï, ®¡ëç® ãáâ. ¢ "1"
|
||||||
|
; 3 - ®è¨¡ª ¯à¨â¥à - ¥áâì/¥â (1/0)
|
||||||
|
; 4 - ¯à¨â¥à ¯®¤ª«îç¥/¥ ¯®¤ª«îç¥ (1/0)
|
||||||
|
; 5 - ¡ã¬ £¨ ¥â/¥áâì (1/0)
|
||||||
|
; 6 - ¯à¨â¥à £®â®¢/¢ë¢®¤¨â ®ç¥à¥¤®© ᨬ¢®« (1/0)
|
||||||
|
; 7 - ¯à¨â¥à ᢮¡®¤¥/§ ïâ (1/0)
|
||||||
|
;
|
||||||
|
; ¢å®¤: A - ᨬ¢®«
|
||||||
|
; ¢ë室: B - ᨬ¢®«
|
||||||
|
; CF - ®è¨¡ª , A=¡ ©â á®áâ®ï¨ï (¡¨âë 7..3)
|
||||||
|
;///////////////////////////////////////////////////////////////////////
|
||||||
|
Z84_SP:
|
||||||
|
.LPT_A EQU Z84.SIO.Ch_B.Ctrl
|
||||||
|
.LPT_B EQU Z84.PIO.Port_A.Data
|
||||||
|
.LPT1_C EQU Z84.PIO.Port_A.Command
|
||||||
|
.LPT2_D EQU Z84.PIO.Port_B.Data
|
||||||
|
.LPT2_C EQU Z84.PIO.Port_B.Command
|
||||||
|
;
|
||||||
|
PRINT: AND A
|
||||||
|
LD B,A ; á®åà 塞 ᨬ¢®«
|
||||||
|
;
|
||||||
|
LD A,R
|
||||||
|
DI
|
||||||
|
PUSH AF
|
||||||
|
; reg 0
|
||||||
|
XOR A
|
||||||
|
OUT (Z84_SP.LPT_A),A
|
||||||
|
LD A,%0001'0000 ; Reset EXT/STATUS interrupts
|
||||||
|
OUT (Z84_SP.LPT_A),A
|
||||||
|
XOR A
|
||||||
|
OUT (Z84_SP.LPT_A),A
|
||||||
|
IN A,(Z84_SP.LPT_A) ; IN (1Bh): bit 5 - busy, Bit 3 - Ack
|
||||||
|
LD C,A
|
||||||
|
BIT 5,A ; IN (19h): bit 5 - Paper Enable, Bit 3 - Select
|
||||||
|
JR NZ,.LPTBUSY
|
||||||
|
AND %11011000
|
||||||
|
JR Z,.LPTBUSY
|
||||||
|
LD A,B ; ¢®ááâ ¢«¨¢ ¥¬ ᨬ¢®«
|
||||||
|
OUT (Z84_SP.LPT_B),A
|
||||||
|
POP AF
|
||||||
|
RET PO
|
||||||
|
EI
|
||||||
|
RET
|
||||||
|
;
|
||||||
|
.LPTBUSY: POP AF
|
||||||
|
LD A,C
|
||||||
|
SCF
|
||||||
|
RET PO
|
||||||
|
EI
|
||||||
|
RET
|
||||||
|
; ; ;
|
||||||
|
|
||||||
|
; B - SYMBOL
|
||||||
|
; CF = 1 - PRINTER BUSY
|
||||||
|
PRINT_INIT: DI
|
||||||
|
LD A,#CF
|
||||||
|
; port #1F ⮫쪮 ç¥p¥§ LD BC,1F : Out (BC),reg (¢ «ìâ¥à¥ ¨¤ñâ ¯¥à¥å¢ â í⮣® ¯®àâ ¯à®æ , ¥á«¨ ® ¢ ª®¬ ¤¥  㪠§ )
|
||||||
|
LD BC,Z84_SP.LPT2_C
|
||||||
|
OUT (C),A
|
||||||
|
;[x] 29/9/23
|
||||||
|
;LD A,#63
|
||||||
|
LD A,63
|
||||||
|
;
|
||||||
|
OUT (C),A
|
||||||
|
LD A,#C0 ; Bit 7 - Select (1), Bit 6 - Auto_Line_Feed (1)
|
||||||
|
OUT (Z84_SP.LPT2_D),A
|
||||||
|
LD A,#0F ; Init printer port for Out
|
||||||
|
OUT (Z84_SP.LPT1_C),A
|
||||||
|
RET
|
||||||
|
;///////////////////////////////////////////////////////////////////////
|
||||||
@ -790,7 +790,7 @@ RD_BPB: ; LD C,SLOT3
|
|||||||
RLA
|
RLA
|
||||||
;
|
;
|
||||||
LD C,A
|
LD C,A
|
||||||
LD B,0 ; BC - File handels in sectors
|
LD B,0 ; BC - File handels per sector
|
||||||
;;;;
|
;;;;
|
||||||
IF COMPILE_UNUSED_CODE
|
IF COMPILE_UNUSED_CODE
|
||||||
LD (CORE_BUFFERS.FatBuffer.FilesPerSector),A
|
LD (CORE_BUFFERS.FatBuffer.FilesPerSector),A
|
||||||
@ -861,9 +861,9 @@ RD_BPB: ; LD C,SLOT3
|
|||||||
LD HL,(CORE_BUFFERS.SECTOR_BUFFER + BOOT_SECTOR.SectorsPerDrive)
|
LD HL,(CORE_BUFFERS.SECTOR_BUFFER + BOOT_SECTOR.SectorsPerDrive)
|
||||||
LD A,H
|
LD A,H
|
||||||
OR L
|
OR L
|
||||||
|
LD DE,(CORE_BUFFERS.FatBuffer.FirstDataSector_L)
|
||||||
JP NZ,.HDDSMAL
|
JP NZ,.HDDSMAL
|
||||||
;
|
;
|
||||||
LD DE,(CORE_BUFFERS.FatBuffer.FirstDataSector_L)
|
|
||||||
EXX
|
EXX
|
||||||
LD HL,(CORE_BUFFERS.SECTOR_BUFFER + BOOT_SECTOR.BPB_BIG_TOTAL_SECTORS_H)
|
LD HL,(CORE_BUFFERS.SECTOR_BUFFER + BOOT_SECTOR.BPB_BIG_TOTAL_SECTORS_H)
|
||||||
PUSH HL ; Total Sectors high
|
PUSH HL ; Total Sectors high
|
||||||
|
|||||||
@ -107,14 +107,7 @@ RMKTIME:
|
|||||||
; E - ¬¥áïæ
|
; E - ¬¥áïæ
|
||||||
; IX - £®¤
|
; IX - £®¤
|
||||||
; ¢ë室: H - ¤¥ì ¥¤¥«¨ (1 - ¢®áªà¥á¥ì¥)
|
; ¢ë室: H - ¤¥ì ¥¤¥«¨ (1 - ¢®áªà¥á¥ì¥)
|
||||||
CalcDayOfWeek: ;!FIXIT ¢ëç¨á«ïâì ¤¥ì ¥¤¥«¨
|
CalcDayOfWeek: LD A,D
|
||||||
; x = (14 ? ¬¥áïæ) / 12
|
|
||||||
; y = £®¤ ? x
|
|
||||||
; m = ¬¥áïæ + 12 * x ? 2
|
|
||||||
; „¥ì<C2AD>¥¤¥«¨ = (7000 + (¤¥ì + y + y/4 ? y/100 + y/400 + (31 * m)/12)) mod 7
|
|
||||||
; ‚ᥠ¤¥«¥¨ï 楫®ç¨á«¥ë¥ (®áâ ⮪ ®â¡à áë¢ ¥âáï).
|
|
||||||
;
|
|
||||||
LD A,D
|
|
||||||
LD (.day),A
|
LD (.day),A
|
||||||
; x = (14 ? ¬¥áïæ) / 12
|
; x = (14 ? ¬¥áïæ) / 12
|
||||||
; y = £®¤ ? x
|
; y = £®¤ ? x
|
||||||
@ -203,6 +196,11 @@ CalcDayOfWeek: ;!FIXIT
|
|||||||
LD H,L
|
LD H,L
|
||||||
INC H
|
INC H
|
||||||
RET
|
RET
|
||||||
|
; x = (14 ? ¬¥áïæ) / 12
|
||||||
|
; y = £®¤ ? x
|
||||||
|
; m = ¬¥áïæ + 12 * x ? 2
|
||||||
|
; „¥ì<C2AD>¥¤¥«¨ = (7000 + (¤¥ì + y + y/4 ? y/100 + y/400 + (31 * m)/12)) mod 7
|
||||||
|
; ‚ᥠ¤¥«¥¨ï 楫®ç¨á«¥ë¥ (®áâ ⮪ ®â¡à áë¢ ¥âáï).
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -690,94 +690,7 @@ BACKTXT: PUSH AF
|
|||||||
POP BC
|
POP BC
|
||||||
NOBACKT: POP AF
|
NOBACKT: POP AF
|
||||||
RET
|
RET
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;/////////////////////////////////////////////////////////////////////
|
|
||||||
; ”ãªæ¨ï #5F. ‚뢮¤ ᨬ¢®« ¯à¨â¥à ¡¥§ ®¦¨¤ ¨ï.
|
|
||||||
;
|
;
|
||||||
; ˆâ¥à¯à¥â æ¨ï ¡ ©â á®áâ®ï¨ï ¯à¨â¥à :
|
|
||||||
; 0..2 - ¥ ¨á¯®«ì§ãîâáï, ®¡ëç® ãáâ. ¢ "1"
|
|
||||||
; 3 - ®è¨¡ª ¯à¨â¥à - ¥áâì/¥â (1/0)
|
|
||||||
; 4 - ¯à¨â¥à ¯®¤ª«îç¥/¥ ¯®¤ª«îç¥ (1/0)
|
|
||||||
; 5 - ¡ã¬ £¨ ¥â/¥áâì (1/0)
|
|
||||||
; 6 - ¯à¨â¥à £®â®¢/¢ë¢®¤¨â ®ç¥à¥¤®© ᨬ¢®« (1/0)
|
|
||||||
; 7 - ¯à¨â¥à ᢮¡®¤¥/§ ïâ (1/0)
|
|
||||||
;
|
|
||||||
; ¢å®¤: A - ᨬ¢®«
|
|
||||||
; ¢ë室: B - ᨬ¢®«
|
|
||||||
; CF - ®è¨¡ª , A=¡ ©â á®áâ®ï¨ï (¡¨âë 7..3)
|
|
||||||
;/////////////////////////////////////////////////////////////////////
|
|
||||||
;!FIXIT § ¬¥¨âì sp2000.inc
|
|
||||||
LPT_A EQU #1B
|
|
||||||
LPT_B EQU #1C
|
|
||||||
|
|
||||||
PRINT: AND A
|
|
||||||
LD B,A ; á®åà 塞 ᨬ¢®«
|
|
||||||
;
|
|
||||||
LD A,R
|
|
||||||
DI
|
|
||||||
PUSH AF
|
|
||||||
;
|
|
||||||
XOR A
|
|
||||||
OUT (LPT_A),A
|
|
||||||
LD A,#10
|
|
||||||
OUT (LPT_A),A
|
|
||||||
XOR A
|
|
||||||
OUT (LPT_A),A
|
|
||||||
IN A,(LPT_A) ; IN (1Bh): bit 5 - busy, Bit 3 - Ack
|
|
||||||
LD C,A
|
|
||||||
BIT 5,A ; IN (19h): bit 5 - Paper Enable, Bit 3 - Select
|
|
||||||
JR NZ,LPTBUSY
|
|
||||||
AND %11011000
|
|
||||||
JR Z,LPTBUSY
|
|
||||||
LD A,B ; ¢®ááâ ¢«¨¢ ¥¬ ᨬ¢®«
|
|
||||||
OUT (LPT_B),A
|
|
||||||
POP AF
|
|
||||||
RET PO
|
|
||||||
EI
|
|
||||||
RET
|
|
||||||
LPTBUSY:
|
|
||||||
POP AF
|
|
||||||
LD A,C
|
|
||||||
SCF
|
|
||||||
RET PO
|
|
||||||
EI
|
|
||||||
RET
|
|
||||||
|
|
||||||
; B - SYMBOL
|
|
||||||
; CF = 1 - PRINTER BUSY
|
|
||||||
;!FIXIT § ¬¥¨âì sp2000.inc
|
|
||||||
LPT1_C EQU #1D
|
|
||||||
LPT2_D EQU #1E
|
|
||||||
LPT2_C EQU #1F
|
|
||||||
PRINT_INIT:
|
|
||||||
DI
|
|
||||||
LD A,#CF ; port #1F ⮫쪮 ç¥p¥§ LD BC,1F : Out (BC),reg (¢ «ìâ¥à¥ ¨¤ñâ ¯¥à¥å¢ â í⮣® ¯®àâ ¯à®æ , ¥á«¨ ® ¢ ª®¬ ¤¥  㪠§ )
|
|
||||||
LD BC,LPT2_C
|
|
||||||
OUT (C),A
|
|
||||||
;[x] 29/9/23
|
|
||||||
;LD A,#63
|
|
||||||
LD A,63
|
|
||||||
;
|
|
||||||
OUT (C),A
|
|
||||||
LD A,#C0 ; Bit 7 - Select (1), Bit 6 - Auto_Line_Feed (1)
|
|
||||||
OUT (LPT2_D),A
|
|
||||||
LD A,#0F ; Init printer port for Out
|
|
||||||
OUT (LPT1_C),A
|
|
||||||
|
|
||||||
; ª« ¢
|
|
||||||
XOR A ;LD A,0
|
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
|
||||||
;[x] 29/9/23
|
|
||||||
INC A
|
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
|
||||||
DEC A
|
|
||||||
;
|
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
|
||||||
|
|
||||||
LD A,5
|
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
|
||||||
LD A,#62 ; bit 7 - Direction for Bufer (0), Bit 1 - Bufer Enable (1)
|
|
||||||
OUT (Z84.SIO.Ch_A.Ctrl),A
|
|
||||||
RET
|
|
||||||
;//MODULE: VIDEO
|
;//MODULE: VIDEO
|
||||||
;[END]
|
;[END]
|
||||||
@ -1 +1 @@
|
|||||||
996
|
997
|
||||||
@ -1052,7 +1052,7 @@ MOUSE_COORDINATES:
|
|||||||
.Y: DB #00
|
.Y: DB #00
|
||||||
MOUSE_BUTTONS: DB #00
|
MOUSE_BUTTONS: DB #00
|
||||||
|
|
||||||
;MB_OLD DB #00 ; !FIXIT - ¥ 㦮?
|
;MB_OLD DB #00
|
||||||
MIN_X: DW 0
|
MIN_X: DW 0
|
||||||
MAX_X: DW 319
|
MAX_X: DW 319
|
||||||
MIN_Y: DW 0
|
MIN_Y: DW 0
|
||||||
|
|||||||
@ -172,6 +172,7 @@ option_c:
|
|||||||
; Œ®¦® ¢ë©â¨ ¯® EXIT, ® ¥ ¨§ § ¯ã饮£® boot-§ £àã§ç¨ª®¬.
|
; Œ®¦® ¢ë©â¨ ¯® EXIT, ® ¥ ¨§ § ¯ã饮£® boot-§ £àã§ç¨ª®¬.
|
||||||
;---------------------------------------------------------------
|
;---------------------------------------------------------------
|
||||||
FPRIMAR:
|
FPRIMAR:
|
||||||
|
halt
|
||||||
ld c,Dss.CTRLKey ; ã§ âì á®áâ. ª« ¢ë ¢ ¤ ë© ¬®¬¥â
|
ld c,Dss.CTRLKey ; ã§ âì á®áâ. ª« ¢ë ¢ ¤ ë© ¬®¬¥â
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
ld hl,autoexec_fname ; ¨¬ï ä ©« "system.bat"
|
ld hl,autoexec_fname ; ¨¬ï ä ©« "system.bat"
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
435
|
436
|
||||||
Loading…
Reference in New Issue
Block a user