home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Unsorted BBS Collection
/
thegreatunsorted.tar
/
thegreatunsorted
/
programming
/
asm_programming
/
XYMODE.SI
< prev
next >
Wrap
Text File
|
1995-11-05
|
2KB
|
119 lines
*********************************************************
* *
* txtmode, ymode and xmode : three useful routines to *
* enable X and Y modes, and get back to a text one *
* (c)oderight LCA/Infiny and Jedi/Sector One *
* *
*********************************************************
* Back to the 80x25/16 mode
txtmode push a
move #3,a
trap #$10
pop a
rts
* Y-mode : 320x200/256 - 4 pages
ymode push a
push d
bsr vsync
move #$13,a
trap #$10
move #$3c4,d
move.b #4,a
out.b a,d
inc.b d
in.b d,a
and.b #255-8,a
or.b #4,a
out.b a,d
move #$3ce,d
move.b #6,a
out.b a,d
inc.b d
in.b d,a
and.b #255-2,a
out.b a,d
move #$3d4,d
move.b #$14,a
out.b a,d
inc.b d
in.b d,a
and.b #255-64,a
out.b a,d
dec.b d
move.b #$17,a
out.b a,d
inc.b d
in.b d,a
or.b #64,a
out.b a,d
pop d
pop a
rts
* X-Mode: 320x240/256 - 4 pages
xmode push a
push d
bsr ymode
move #$3c2,d
move.b #%11100011,a
out.b a,d
move #$3d4,d
move #$300,a
out a,d
move #$3d4,d
move.b #$11,a
out.b a,d
inc d
in.b d,a
and.b #%01111111,a
out.b a,d
dec d
move #$d06,a
out a,d
move #$3e07,a
out a,d
move #$4109,a
out a,d
move #$ea10,a
out a,d
move #$ac11,a
out a,d
move #$df12,a
out a,d
move #$e715,a
out a,d
move #$616,a
out a,d
pop d
pop a
rts
* Wait for the vertical frame
vsync push a
push d
move #$3da,d
.vswait in.b d,a
test.b #8,a
beq.s .vswait
pop d
pop a
rts