FORMAT/Messages.z80
2026-04-24 00:56:29 +10:00

83 lines
2.9 KiB
Z80 Assembly
Raw Blame History

;universal color print to console procedure like printf()
; in: IY
;
; <20>ਬ¥à ¤ ­­ëå:
; DskInfo_Msg: DB "Formatted disk parameters:",cr,lf
; DB "Total sectors: ",tab,col_cmd,col_magenta, "%lu", col_cmd,col_white,cr,lf
; DB "Total size: ",tab,col_cmd,col_magenta, "%uMb", col_cmd,col_white,cr,lf
; DB "Units: ",tab,tab,col_cmd,col_magenta, "%u", col_cmd,col_white,cr,lf
; DB "Unit size: ",tab,col_cmd,col_magenta, "%u%c", col_cmd,col_white,cr,lf
; .FS: DB "File system: ",tab,col_cmd,col_magenta,"FAT16",col_cmd,col_white,cr,lf
; DB "Serial: ",tab,col_cmd,col_magenta, "%02x-%02x", col_cmd,col_white,cr,lf
; DB "Label: ",tab,tab,col_cmd,col_magenta, "NO LABEL",col_cmd,col_white,cr,lf,cr,lf,0
; .ptr: DW DskInfo_Msg
; .sectors: DS 4
; .mb: DW 0
; .units: DW 0
; .u_size: DW 0
; .u_sym: DB "K",0
; .serial: DS 4
;
; ¢ IY ¯®¬¥é ¥âáï DskInfo_Msg.ptr
;
; x, X hexadecimal
; D signed decimal
; U unsigned decimal
; L long
; C single character
; O octal
; S string
;-----------------------------------------------------------------------
Version_Msg: DB "DSS Drive Formatter v"
DB VERS_TXT, "."
DB MODF_TXT, "."
DB BUILD_TXT, ", "
DB "Copyright "
DB YEAR_TXT, " "
DZ "by Tolik_Trek@SprinterTeam\r\n\r\n"
.Size EQU $-Version_Msg
ASSERT Version_Msg.Size < 80+4, "ERROR: Version_Msg to long!"
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------
Error_Msg: DZ "\r\n\r\nError!!!\r\n\r\n"
;-----------------------------------------------------------------------
;-----------------------------------------------------------------------
;!FIXIT Color settings
col_magenta EQU 5
col_white EQU 7
col_cmd EQU 16
;
PARAMS_MSG: BYTE "\r\nDrive "
.disk BYTE "A: "
BYTE "will be formatted using the current settings:\r\n\r\n"
BYTE "Partition size:\t", col_cmd,col_magenta, "%S bytes", col_cmd,col_white, "\r\n"
BYTE "Available size:\t", col_cmd,col_magenta, "%S bytes", col_cmd,col_white, "\r\n"
BYTE "Unused space:\t", col_cmd,col_magenta, "%lu bytes", col_cmd,col_white, "\r\n"
BYTE "Clusters:\t", col_cmd,col_magenta, "%lu", col_cmd,col_white, "\r\n"
BYTE "Cluster size:\t", col_cmd,col_magenta, "%u bytes", col_cmd,col_white, "\r\n"
BYTE "File system:\t", col_cmd,col_magenta, "%S", col_cmd,col_white, "\r\n"
BYTE "Serial:\t\t", col_cmd,col_magenta, "%04x-%04x", col_cmd,col_white, "\r\n"
BYTE "Label:\t\t", col_cmd,col_magenta, "%S", col_cmd,col_white, "\r\n\r\n"
BYTE 'Press "Y" for format or any other key to exit', "\r\n"
BYTE 0
.ptr: WORD PARAMS_MSG
WORD .fullSize
WORD .dataSize
.unused: DWORD 0
.Clusters: DWORD 0
.Clu_size: WORD 0
WORD .FATtxt
.Serial: DWORD 0
WORD .LabelTxt
;
.FATtxt: DZ 'FAT '
.LabelTxt: DZ 'NO LABEL '
.fullSize: BYTE ' ',0
.dataSize: BYTE ' ',0
;-----------------------------------------------------------------------