украшалки

This commit is contained in:
Tolik 2025-02-26 05:42:15 +10:00
parent e7cb4c354f
commit b4fca7ecb4
5 changed files with 187 additions and 96 deletions

View File

@ -190,25 +190,25 @@ LP_PRINT_ALL:
;
;------------------------------------------------------------------[#82]
;
LP_PRINT_SYM:
CALL LP_BEG_P
EXX
LD C,A
EXX
LD A,#50
OUT (SLOT3),A
.loop: EXX
LD A,D
OUT (PORT_Y),A
.cont: LD (HL),C
INC D
TEST_40
DJ_NEXT_HL
EXX
DJNZ .loop
JP LP_END_P
CALL LP_BEG_P
EXX
LD C,A
EXX
LD A,#50
OUT (SLOT3),A
;
.loop: EXX
LD A,D
OUT (PORT_Y),A
.cont: LD (HL),C
INC D
TEST_40
DJ_NEXT_HL
EXX
DJNZ .loop
JP LP_END_P
;------------------------------------------------------------------[#82]
;
@ -429,7 +429,7 @@ LP_END_P: ; !!!!!
RET
.short: EX AF,AF'
EXX
LP_CLOSE_PG
LP_CLOSE_PG
EXX
EX AF,AF'
AND A

View File

@ -186,7 +186,7 @@ AUTODETECT:
;
CALL AUTODETECTING
.IDEJUMPBACK:
CALL NC,MODEL
CALL NC,PRINT_IDE_MODEL
LD A,(SKIP)
INC A
LD A,msgStrings.ideNone
@ -508,19 +508,20 @@ IDE_CMD:
/////////////////////////////////////////////////////////////////////[v]
MODEL: LD HL,IDENTIFY_DEVICE_BUFFER.ModelNumber
LD A,(HL)
OR A
JR Z,.unknown
LD B,20 ;!HARDCODE
CALL DWPRINT
AND A
RET
.unknown:
LD A,msgStrings.ideUnknown
CALL POSTMSG
AND A
RET
PRINT_IDE_MODEL:
LD HL,IDENTIFY_DEVICE_BUFFER.ModelNumber
LD A,(HL)
OR A
JR Z,.unknown
LD B,+(_ATA_IDENTIFY_DEVICE_DATA.MaximumBlockTransfer - _ATA_IDENTIFY_DEVICE_DATA.ModelNumber)/2
CALL PRINT_STR_BIG_ENDIAN
AND A
RET
;
.unknown: LD A,msgStrings.ideUnknown
CALL POSTMSG
AND A
RET
/////////////////////////////////////////////////////////////////////[^]
@ -536,7 +537,7 @@ BITS_WAITS:
.loop: IN A,(C)
AND D
CP E
RET Z
RET Z
DEC HL
CALL SKIPKEY
RET C
@ -827,7 +828,7 @@ DETECTORS:
CALL BITS_WAITS.WAIT_PRT
RET C
;
LD BC,IDE.Read.Status
; BC = IDE.Read.Status
IN A,(C)
RRCA
RET

View File

@ -1277,7 +1277,7 @@ PIDBOARD: CALL FN_CRIPT.board_id
LD A,'-'
CALL PRINT_CHAR
POP HL
CALL IZPRINT
CALL IPRINT.Z
POP DE
PUSH DE
LD A,D

View File

@ -16,73 +16,159 @@ ScreenPOS:
JP LP_SET_PLACE
;;
;!TODO ¯¥à¥¤¥« âì,   â® ªà¨¢® ª ª-â®
DWPRINT:
LD A,(HL)
CP ' '
JR NZ,PRINTDW
INC HL
LD A,(HL)
DEC HL
CP ' '
JR NZ,PRINTDW
INC HL
INC HL
DJNZ DWPRINT
RET
;!TODO ¯¥à¥¤¥« âì,   â® ªà¨¢® ª ª-â®
PRINTDW:
PUSH BC
LD E,(HL)
INC HL
LD A,(HL)
INC HL
CALL PRINT_CHAR
LD A,E
CALL PRINT_CHAR
POP BC
DJNZ PRINTDW
RET
PRINTA: LD E,A
JP LP_PRINT_ATR
PRINT_CHAR:
LD B,1
JP LP_PRINT_SYM
IF BIG_ENDIAN_STR_PRINT = 2
PRINT_STR_BIG_ENDIAN:
LD A,(HL)
CP ' '
JR NZ,.PRINTDW
INC HL
LD A,(HL)
DEC HL
CP ' '
JR NZ,.PRINTDW
INC HL
INC HL
.no_space: DJNZ DWPRINT
RET
;
.PRINTDW: PUSH BC
LD E,(HL)
INC HL
LD A,(HL)
INC HL
CALL PRINT_CHAR
LD A,E
CALL PRINT_CHAR
POP BC
LD A,' '
CP E
JR Z,.no_space
DJNZ .PRINTDW
RET
ELSEIF BIG_ENDIAN_STR_PRINT = 0
PRINT_STR_BIG_ENDIAN:
PUSH HL
PUSH BC
LD D,H
LD E,L
INC HL
;
.loop_ch: LD A,(DE)
LDI
LD (DE),A
INC HL
INC DE
DJNZ .loop_ch
;
POP BC
POP HL
LD A,B
ADD A,B
LD B,A
;
.print_loop: CALL .no_space
RET Z
LD D,H
LD E,L
PUSH DE
PUSH BC
LD D,' '
CALL LP_PRINT_LINE6
POP BC
POP DE
PUSH HL
AND A
SBC HL,DE
LD A,B
SUB L
LD B,A
JR Z,.exit
LD A,' '
INC B
PUSH BC
CALL PRINT_CHAR
POP BC
POP HL
DJNZ .print_loop
RET
;
.no_space: LD A,(HL)
CP ' '
RET NZ
INC HL
DJNZ .no_space
RET
;
.exit: POP HL
RET
ELSEIF BIG_ENDIAN_STR_PRINT = 1
PRINT_STR_BIG_ENDIAN:
PUSH HL
PUSH BC
LD D,H
LD E,L
INC HL
;
.loop_ch: LD A,(DE)
LDI
LD (DE),A
INC HL
INC DE
DJNZ .loop_ch
;
POP BC
POP HL
LD A,B
ADD A,B
LD B,A
JP LP_PRINT_LINE2
ENDIF
PRINTA: LD E,A
JP LP_PRINT_ATR
;
PRINT_CHAR: LD B,1
JP LP_PRINT_SYM
;
TPRINTZ: CALL LP_SET_PLACE
PRINTZ: LD B,0
LD D,B
JP LP_PRINT_LINE6
;TPRINTZ: CALL LP_SET_PLACE
PRINTZ: LD B,0
LD D,B
JP LP_PRINT_LINE6
;
HPRINTZ: LD B,0
LD D,B
LD E,COLORS.CGA.INK.WHITE
JP LP_PRINT_LINE5
; HPRINTZ: LD B,0
; LD D,B
; LD E,COLORS.CGA.INK.WHITE
; JP LP_PRINT_LINE5
CPRINTZ: LD B,0
LD D,B
LD E,A
JP LP_PRINT_LINE5
CPRINTZ: LD B,0
LD D,B
LD E,A
JP LP_PRINT_LINE5
;
;HL - NUMBER
IZPRINT: LD D,1
JR IPRIN
IPRINT:
LD D,0
IPRIN: LD BC,10000
CALL PRINTDG
LD BC,1000
CALL PRINTDG
LD BC,100
CALL PRINTDG
LD BC,10
CALL PRINTDG
LD A,L
ADD A,#30
JP PRINT_CHAR
IPRINT: LD D,0
.I: LD BC,10000
CALL PRINTDG
LD BC,1000
CALL PRINTDG
LD BC,100
CALL PRINTDG
LD BC,10
CALL PRINTDG
LD A,L
ADD A,#30
JP PRINT_CHAR
;HL - NUMBER
.Z: LD D,1
JR .I
PRINTDG:
LD A,#2F

View File

@ -23,4 +23,8 @@ BETA_RC EQU 0 ;
DEFINE FDD_NormalCount 0 ; !TODO
DEFINE UnusedSettingsFeatures 0 ;
;DEFINE OPTIMIZE_RW_PROCEDURE 0 ;
DEFINE BIG_ENDIAN_STR_PRINT 0 ;
; ; 0 - ¯¥ç âì á ¯®à祩 ¡ãä¥à  ¨ ¯à®¯ã᪮¬ ¤¢®©­ëå ¯à®¡¥«®¢ - ¢ 1,5 à §  èãáâ॥ á⮪ 
; ; 1 - ¯¥ç âì á ¯®à祩 ¡ãä¥à  ¡¥§ ¯à®¯ã᪠ ¤¢®©­ëå ¯à®¡¥«®¢ - ¢ 3 à §  èãáâ॥ á⮪ 
; ; 2 - ¯¥ç âì ¡¥§ ¯®àç¨ ¡ãä¥à  ¡¥§ ¯à®¯ã᪠ ¤¢®©­ëå ¯à®¡¥«®¢ - á⮪
;===============================================================;