home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
genie-commodore-file-library
/
GEOSApps
/
VDC-BG.SFX
/
testbgasm.cvt
(
.txt
)
< prev
next >
Wrap
GEOS ConVerT
|
1990-02-12
|
3KB
|
98 lines
<#testBGasm
PRG formatted GEOS file V1.0
Star NX-10
OP V2.0 or higher
Text Scrap
BLASTER'S CONVERTER V2.5
testBGasm.rel
VDC-BG.rel
Write Image V2.1
geoWrite V2.1
; ****************************************************************************
; testBG -- test the VDC-BG routines that implement an 80 column BG screen
; within the extra RAM available on a 64K VDC RAM system.
; Robert A. Knop Jr., Usenet Hacking Mag Issue #3
; ****************************************************************************
;.if Pass1
;.noeqin
@.include geosSym
.include 128sym
.include geosMac
;.eqin
;.endif
Start:
jsr InitVDC ;Make sure we're set up for 64K VDC
LoadW RecoverVector,VDCRecRect ;Point to our new Recover Routine
LoadB dispBufferOn,ST_WR_FORE ;Write only to FG screen
LoadW r0,$2000
LoadW r1,BACK_SCR_BASE
LoadB r2L,$c7
jsr FillRam ;Fill the 40-col BG screen with $c7
LoadW r0,$2000 ;Later, use the debugger, or write a short
LoadW r1,SCREEN_BASE ; routine to make sure this memory is untouched
LoadB r2L,$d9 ;Fill the 40-col FG screen with $d9
jsr FillRam
lda #$00
jsr SetPattern ;Set pattern to all 0's
jsr i_Rectangle ;Clear the screen
.byte 0,199
.word 0,639
lda #$01
jsr SetPattern ;Set pattern to all 1's
jsr i_Rectangle ;And draw a block
.byte 50,150
.word 80,255
LoadW r3,0
LoadW r4,639
LoadB r2L,0
LoadB r2H,199
jsr VDCImpRect ;Imprint whole screen to BG
lda #$00
jsr SetPattern
jsr i_Rectangle ;clear a subset of rectangle
.byte 80,120
.word 120,180
jsr Wait
LoadW r3,121
LoadW r4,179
LoadB r2L,81
LoadB r2H,119
jsr VDCRecRect ;Recover all but a thin (1 pix) border
jsr Wait
LoadW r3,120
LoadW r4,180
LoadB r2L,80
LoadB r2H,120
jsr VDCRecRect ;Recover whole cleared region
jsr Wait
LoadW r0,JunkBox
jsr DoDlgBox ;Call a dialog box to show that the
jsr Wait ; recovery after that works.
@jmp EnterDeskTop
eskTop
JunkBox: .byte DEF_DB_POS|2
.byte DBTXTSTR
.byte TXT_LN_X,TXT_LN_1_Y
.word LookMa
.byte OK
.byte DBI_X_1,DBI_Y_2
.byte NULL
LookMa: .byte "Look, Ma, a dialog box!",0
Wait: jsr i_PutString
.word 0
.byte 190
.byte "Click to continue.....",0
10$ lda $dc01 ;Read mouse directly
and #%00010000 ;Check the firebutton
bne 10$
lda #$00
jsr SetPattern
jsr i_Rectangle
.byte 180,199
.word 0,639
@rts
;.eqin
;.endif
Start:
jsr InitVDC ;Make sure we're s