mirror of
https://github.com/Tolik-Trek/FORMAT.git
synced 2026-06-15 01:11:39 +03:00
149 lines
2.4 KiB
NASM
Executable File
149 lines
2.4 KiB
NASM
Executable File
;Color settings
|
||
col_blue = 1
|
||
col_green = 2
|
||
col_violet = 3
|
||
col_red = 4
|
||
col_magenta = 5
|
||
col_brown = 6
|
||
col_white = 7
|
||
|
||
col_yellow = 10
|
||
col_white_light = 15
|
||
|
||
col_cmd = 16
|
||
IFUSED ClearScr
|
||
ClearScr: ld bc,0x0756 ;c = ESTEX_clearscr
|
||
ld de,0
|
||
ld hl,0x2050
|
||
ld a,space
|
||
rst 0x10
|
||
ld de,0
|
||
SYS ESTEX_setcursor
|
||
ld de,0
|
||
ld (coords),DE
|
||
ret
|
||
ENDIF
|
||
|
||
|
||
IFUSED winClearScr
|
||
;<3B>ந§¢®¤¨â ®âç¨áâªã ¢ë¡à ®© ®¡« á⨠⥪á⮢®£® íªà (ª®á®«¨).
|
||
;in:
|
||
; HL = ¢ëá®â , è¨à¨
|
||
; DE = Y,X
|
||
; BC = new cursor position (Y,X)
|
||
winClearScr: push bc
|
||
ld a,space
|
||
ld b,7
|
||
SYS ESTEX_clearscr
|
||
pop de
|
||
ld (coords),de
|
||
SYS ESTEX_setcursor
|
||
ret
|
||
ENDIF
|
||
|
||
|
||
; IFUSED ScrBackup
|
||
;in:
|
||
;IX = buf addr
|
||
;ScrBackup: ld de,0 ;XY 0,0
|
||
; ld hl,0x2050 ;h,w: 32x80
|
||
; ex af,af
|
||
; in a,(mmu3)
|
||
; ex af,af
|
||
; SYS ESTEX_scrwincopy
|
||
; ret
|
||
; ENDIF
|
||
;
|
||
;
|
||
; IFUSED ScrRestore
|
||
;;in:
|
||
;;IX = buf addr
|
||
;ScrRestore: ld de,0 ;XY 0,0
|
||
; ld hl,0x2050 ;h,w: 32x80
|
||
; ex af,af
|
||
; in a,(mmu3)
|
||
; ex af,af
|
||
; SYS ESTEX_scrwinrest
|
||
|
||
IFUSED GetXY
|
||
GetXY: SYS ESTEX_getcursor
|
||
ld (coords),de
|
||
ret
|
||
ENDIF
|
||
|
||
IFUSED SetXY
|
||
SetXY: ld de,(coords)
|
||
SYS ESTEX_setcursor
|
||
ret
|
||
ENDIF
|
||
|
||
IFUSED Check_Vmode
|
||
;check for enabled TextMode
|
||
Check_Vmode: SYS ESTEX_getvmode
|
||
jr c,getvmodeErr
|
||
.next0: ld (vmode),a ;current vmode
|
||
ex af,af
|
||
ld a,b
|
||
ld (vmode.screen),a ;screen (0 or 1)
|
||
ex af,af
|
||
cp _VMODE._T80 ;text 80x32 mode?
|
||
jr nz,.set_t80_mode ;if no, then set it
|
||
ret
|
||
|
||
|
||
|
||
.set_t80_mode: ld a,_VMODE._T80
|
||
ld b,0
|
||
SYS ESTEX_setvmode
|
||
jp c,setvmodeErr
|
||
ret
|
||
ENDIF
|
||
|
||
|
||
IFUSED Return_Vmode
|
||
Return_Vmode: ld a,(vmode)
|
||
cp _VMODE._T80
|
||
ret z
|
||
ex af,af
|
||
ld a,(vmode.screen)
|
||
ld b,a
|
||
ex af,af
|
||
SYS ESTEX_setvmode
|
||
jp c,setvmodeErr
|
||
ret
|
||
ENDIF
|
||
|
||
|
||
IFUSED getvmodeErr
|
||
getvmodeErr: PrintChars errGetvmodeMsg
|
||
ld b,-1
|
||
jp quit0
|
||
ENDIF
|
||
|
||
|
||
IFUSED setvmodeErr
|
||
setvmodeErr: PrintChars errSetvmodeMsg
|
||
ld b,-20
|
||
jp quit0
|
||
ENDIF
|
||
|
||
IFUSED vmode
|
||
vmode: db 0
|
||
.screen: db 0
|
||
ENDIF
|
||
|
||
;-------------------------------------------------------------
|
||
IFUSED errGetvmodeMsg
|
||
errGetvmodeMsg: db cr,lf
|
||
db "ERROR: Failed to get video mode!",cr,lf
|
||
db cr,lf,0
|
||
ENDIF
|
||
|
||
|
||
IFUSED errSetvmodeMsg
|
||
errSetvmodeMsg: db cr,lf
|
||
db "ERROR: Failed to set video mode!",cr,lf
|
||
db cr,lf,0
|
||
ENDIF
|
||
;-------------------------------------------------------------
|