mirror of
https://github.com/pfusik/xasm.git
synced 2024-06-15 03:29:31 +00:00
GR0 1.1.
This commit is contained in:
parent
c0af7e23a5
commit
d7c0cf3dc0
40
gr0.asm
40
gr0.asm
|
@ -25,7 +25,7 @@ MACRO topt _op
|
||||||
|
|
||||||
mov si, 81h
|
mov si, 81h
|
||||||
mov bx, 0ff00h ;bh=attr mask, bl=attr set
|
mov bx, 0ff00h ;bh=attr mask, bl=attr set
|
||||||
xor dx, dx ;m_xxx
|
xor dx, dx ;dx=options
|
||||||
|
|
||||||
gsw1: lodsb
|
gsw1: lodsb
|
||||||
cmp al, ' '
|
cmp al, ' '
|
||||||
|
@ -46,7 +46,7 @@ panic: print
|
||||||
|
|
||||||
rdpage: mov cx, 100h
|
rdpage: mov cx, 100h
|
||||||
fread
|
fread
|
||||||
cmp ax, 100h
|
cmp ax, cx
|
||||||
jb _derr
|
jb _derr
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
@ -54,14 +54,11 @@ rdnum: lodsb
|
||||||
cmp al, ':'
|
cmp al, ':'
|
||||||
jne usage
|
jne usage
|
||||||
lodsw
|
lodsw
|
||||||
cmp al, '9'
|
sub ax, '00'
|
||||||
ja usage
|
cmp al, 10
|
||||||
sub al, '0'
|
jae usage
|
||||||
jb usage
|
cmp ah, 10
|
||||||
cmp ah, '9'
|
jae rdnum1
|
||||||
ja rdnum1
|
|
||||||
sub ah, '0'
|
|
||||||
jb rdnum1
|
|
||||||
xchg al, ah
|
xchg al, ah
|
||||||
aad ;al:=10*ah+al
|
aad ;al:=10*ah+al
|
||||||
cmp al, 15
|
cmp al, 15
|
||||||
|
@ -111,7 +108,7 @@ swf2: pusha
|
||||||
mov bx, di
|
mov bx, di
|
||||||
mov cx, di
|
mov cx, di
|
||||||
sub cx, offset fname
|
sub cx, offset fname
|
||||||
je usage
|
je short jusage
|
||||||
adex1: dec bx
|
adex1: dec bx
|
||||||
cmp [byte bx], '.'
|
cmp [byte bx], '.'
|
||||||
je adexn
|
je adexn
|
||||||
|
@ -135,7 +132,7 @@ adexn: mov [byte di], 0
|
||||||
jmp gsw1
|
jmp gsw1
|
||||||
|
|
||||||
gswx: test dx, dx
|
gswx: test dx, dx
|
||||||
jz usage
|
jz jusage
|
||||||
|
|
||||||
topt o_a ;obsluz opcje a
|
topt o_a ;obsluz opcje a
|
||||||
jz atrok
|
jz atrok
|
||||||
|
@ -160,11 +157,15 @@ atrok:
|
||||||
btr ax, cx
|
btr ax, cx
|
||||||
test ax, ax
|
test ax, ax
|
||||||
jz fntok
|
jz fntok
|
||||||
jmp usage
|
jusage: jmp usage
|
||||||
nofnt: topt o_l ;jezeli l i zadna z d,f,x, to ustaw d
|
nofnt: topt o_l ;jezeli l i zadna z d,f,x, to ustaw d
|
||||||
jz fntok
|
jz fntok
|
||||||
setflag dx, o_d
|
setflag dx, o_d
|
||||||
fntok:
|
fntok: topt o_i
|
||||||
|
jz noinv0
|
||||||
|
topt o_f+o_x ;i tylko razem z f lub x
|
||||||
|
jz jusage
|
||||||
|
noinv0:
|
||||||
|
|
||||||
push bx
|
push bx
|
||||||
|
|
||||||
|
@ -178,13 +179,14 @@ fntok:
|
||||||
noini:
|
noini:
|
||||||
|
|
||||||
; wczytaj font domyslny
|
; wczytaj font domyslny
|
||||||
topt o_d
|
topt o_d+o_f+o_x
|
||||||
jz nodef
|
jz nodef
|
||||||
mov ax, 1112h
|
mov ax, 1112h
|
||||||
topt o_l
|
topt o_l
|
||||||
jnz def50
|
jnz def50
|
||||||
mov al, 14h
|
mov al, 14h
|
||||||
def50: push dx
|
def50: push dx
|
||||||
|
xor bl, bl
|
||||||
int 10h
|
int 10h
|
||||||
pop dx
|
pop dx
|
||||||
nodef:
|
nodef:
|
||||||
|
@ -227,8 +229,8 @@ nodbl: push dx
|
||||||
mov ax, 1110h
|
mov ax, 1110h
|
||||||
int 10h
|
int 10h
|
||||||
pop dx
|
pop dx
|
||||||
|
|
||||||
nocust:
|
nocust:
|
||||||
|
|
||||||
; jezeli przelaczylismy 50->25 to skorygowac polozenie kursora
|
; jezeli przelaczylismy 50->25 to skorygowac polozenie kursora
|
||||||
topt o_l
|
topt o_l
|
||||||
jnz nococu
|
jnz nococu
|
||||||
|
@ -275,7 +277,7 @@ cls: inc di
|
||||||
nocol: ret
|
nocol: ret
|
||||||
|
|
||||||
swilet db 'XNLIFDCBA'
|
swilet db 'XNLIFDCBA'
|
||||||
usgtxt db 'GR0 version 1.0 by Fox/Taquart',eol
|
usgtxt db 'GR0 version 1.1 by Fox/Taquart',eol
|
||||||
db 'Customizes DOS screen.',eol
|
db 'Customizes DOS screen.',eol
|
||||||
db 'Available options:',eol
|
db 'Available options:',eol
|
||||||
db '/a Set Atari scheme = /b:1 /c:7 /n /l /x',eol
|
db '/a Set Atari scheme = /b:1 /c:7 /n /l /x',eol
|
||||||
|
@ -283,10 +285,10 @@ usgtxt db 'GR0 version 1.0 by Fox/Taquart',eol
|
||||||
db '/c:nn Set foreground color 0-15',eol
|
db '/c:nn Set foreground color 0-15',eol
|
||||||
db '/d Set default PC font',eol
|
db '/d Set default PC font',eol
|
||||||
db '/f:fname Set external Atari font',eol
|
db '/f:fname Set external Atari font',eol
|
||||||
db '/i Set chars 128-255 to inverse',eol
|
db '/i Set characters 128-255 to inverse',eol
|
||||||
db '/l Select 50 lines font',eol
|
db '/l Select 50 lines font',eol
|
||||||
db '/n Initialize text mode (clears screen)',eol
|
db '/n Initialize text mode (clears screen)',eol
|
||||||
db '/x Set Atari build-in font',eot
|
db '/x Set Atari built-in font',eot
|
||||||
smarterr
|
smarterr
|
||||||
|
|
||||||
font db 0,54,127,127,62,28,8,0,24,24,24,31,31,24,24,24,3
|
font db 0,54,127,127,62,28,8,0,24,24,24,31,31,24,24,24,3
|
||||||
|
|
Loading…
Reference in New Issue
Block a user