украшалки

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] ;------------------------------------------------------------------[#82]
;
LP_PRINT_SYM: LP_PRINT_SYM:
CALL LP_BEG_P CALL LP_BEG_P
EXX EXX
LD C,A LD C,A
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
.cont: LD (HL),C .cont: LD (HL),C
INC D INC D
TEST_40 TEST_40
DJ_NEXT_HL DJ_NEXT_HL
EXX EXX
DJNZ .loop DJNZ .loop
JP LP_END_P
JP LP_END_P
;------------------------------------------------------------------[#82] ;------------------------------------------------------------------[#82]
; ;
@ -429,7 +429,7 @@ LP_END_P: ; !!!!!
RET RET
.short: EX AF,AF' .short: EX AF,AF'
EXX EXX
LP_CLOSE_PG LP_CLOSE_PG
EXX EXX
EX AF,AF' EX AF,AF'
AND A AND A

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,19 +508,20 @@ IDE_CMD:
/////////////////////////////////////////////////////////////////////[v] /////////////////////////////////////////////////////////////////////[v]
MODEL: LD HL,IDENTIFY_DEVICE_BUFFER.ModelNumber PRINT_IDE_MODEL:
LD A,(HL) LD HL,IDENTIFY_DEVICE_BUFFER.ModelNumber
OR A LD A,(HL)
JR Z,.unknown OR A
LD B,20 ;!HARDCODE JR Z,.unknown
CALL DWPRINT LD B,+(_ATA_IDENTIFY_DEVICE_DATA.MaximumBlockTransfer - _ATA_IDENTIFY_DEVICE_DATA.ModelNumber)/2
AND A CALL PRINT_STR_BIG_ENDIAN
RET AND A
.unknown: RET
LD A,msgStrings.ideUnknown ;
CALL POSTMSG .unknown: LD A,msgStrings.ideUnknown
AND A CALL POSTMSG
RET AND A
RET
/////////////////////////////////////////////////////////////////////[^] /////////////////////////////////////////////////////////////////////[^]
@ -536,7 +537,7 @@ BITS_WAITS:
.loop: IN A,(C) .loop: IN A,(C)
AND D AND D
CP E CP E
RET Z RET Z
DEC HL DEC HL
CALL SKIPKEY CALL SKIPKEY
RET C RET C
@ -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,73 +16,159 @@ ScreenPOS:
JP LP_SET_PLACE 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: IF BIG_ENDIAN_STR_PRINT = 2
LD B,1 PRINT_STR_BIG_ENDIAN:
JP LP_PRINT_SYM 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 ;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 CALL PRINTDG
IPRINT: LD BC,1000
LD D,0 CALL PRINTDG
IPRIN: LD BC,10000 LD BC,100
CALL PRINTDG CALL PRINTDG
LD BC,1000 LD BC,10
CALL PRINTDG CALL PRINTDG
LD BC,100 LD A,L
CALL PRINTDG ADD A,#30
LD BC,10 JP PRINT_CHAR
CALL PRINTDG ;HL - NUMBER
LD A,L .Z: LD D,1
ADD A,#30 JR .I
JP PRINT_CHAR
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 - ¯¥ç âì ¡¥§ ¯®àç¨ ¡ãä¥à  ¡¥§ ¯à®¯ã᪠ ¤¢®©­ëå ¯à®¡¥«®¢ - á⮪
;===============================================================; ;===============================================================;