украшалки

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,6 +190,7 @@ LP_PRINT_ALL:
; ;
;------------------------------------------------------------------[#82] ;------------------------------------------------------------------[#82]
;
LP_PRINT_SYM: LP_PRINT_SYM:
CALL LP_BEG_P CALL LP_BEG_P
EXX EXX
@ -197,7 +198,7 @@ LP_PRINT_SYM:
EXX EXX
LD A,#50 LD A,#50
OUT (SLOT3),A OUT (SLOT3),A
;
.loop: EXX .loop: EXX
LD A,D LD A,D
OUT (PORT_Y),A OUT (PORT_Y),A
@ -207,7 +208,6 @@ LP_PRINT_SYM:
DJ_NEXT_HL DJ_NEXT_HL
EXX EXX
DJNZ .loop DJNZ .loop
JP LP_END_P JP LP_END_P
;------------------------------------------------------------------[#82] ;------------------------------------------------------------------[#82]
; ;

View File

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

View File

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

View File

@ -16,23 +16,24 @@ ScreenPOS:
JP LP_SET_PLACE JP LP_SET_PLACE
;; ;;
;!TODO ¯¥à¥¤¥« âì,   â® ªà¨¢® ª ª-â®
DWPRINT:
IF BIG_ENDIAN_STR_PRINT = 2
PRINT_STR_BIG_ENDIAN:
LD A,(HL) LD A,(HL)
CP ' ' CP ' '
JR NZ,PRINTDW JR NZ,.PRINTDW
INC HL INC HL
LD A,(HL) LD A,(HL)
DEC HL DEC HL
CP ' ' CP ' '
JR NZ,PRINTDW JR NZ,.PRINTDW
INC HL INC HL
INC HL INC HL
DJNZ DWPRINT .no_space: DJNZ DWPRINT
RET RET
;!TODO ¯¥à¥¤¥« âì,   â® ªà¨¢® ª ª-â® ;
PRINTDW: .PRINTDW: PUSH BC
PUSH BC
LD E,(HL) LD E,(HL)
INC HL INC HL
LD A,(HL) LD A,(HL)
@ -41,38 +42,120 @@ PRINTDW:
LD A,E LD A,E
CALL PRINT_CHAR CALL PRINT_CHAR
POP BC POP BC
DJNZ PRINTDW LD A,' '
CP E
JR Z,.no_space
DJNZ .PRINTDW
RET 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 PRINTA: LD E,A
JP LP_PRINT_ATR JP LP_PRINT_ATR
;
PRINT_CHAR: PRINT_CHAR: LD B,1
LD B,1
JP LP_PRINT_SYM JP LP_PRINT_SYM
; ;
TPRINTZ: CALL LP_SET_PLACE ;TPRINTZ: CALL LP_SET_PLACE
PRINTZ: LD B,0 PRINTZ: LD B,0
LD D,B LD D,B
JP LP_PRINT_LINE6 JP LP_PRINT_LINE6
;
HPRINTZ: LD B,0 ; HPRINTZ: LD B,0
LD D,B ; LD D,B
LD E,COLORS.CGA.INK.WHITE ; LD E,COLORS.CGA.INK.WHITE
JP LP_PRINT_LINE5 ; JP LP_PRINT_LINE5
CPRINTZ: LD B,0 CPRINTZ: LD B,0
LD D,B LD D,B
LD E,A LD E,A
JP LP_PRINT_LINE5 JP LP_PRINT_LINE5
;
;HL - NUMBER IPRINT: LD D,0
IZPRINT: LD D,1 .I: LD BC,10000
JR IPRIN
IPRINT:
LD D,0
IPRIN: LD BC,10000
CALL PRINTDG CALL PRINTDG
LD BC,1000 LD BC,1000
CALL PRINTDG CALL PRINTDG
@ -83,6 +166,9 @@ IPRIN: LD BC,10000
LD A,L LD A,L
ADD A,#30 ADD A,#30
JP PRINT_CHAR JP PRINT_CHAR
;HL - NUMBER
.Z: LD D,1
JR .I
PRINTDG: PRINTDG:
LD A,#2F LD A,#2F

View File

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