User Tools

Site Tools


base:removing_the_sideborders

Removing the sideborders

Here is an ugly piece of code that shows how to remove the sideborder. Of course there is much more to desire if you want to use it in a demo, you probably want sprites and perhaps graphics in the open area as well. This just shows how it worx.

Please note that the code is assumed to be started from a normal basic screen. Particularly the $d016-register is assumed to be $c8 at start. Have fun! / HCL

        sei
        
;Fix PAL, otherwise NTSC
        lda $02a6
        beq +
        lda #$49 ; ie EOR #$xx (time 2 cycles)
        sta PALFIX
+

loop1
        lda #$1b ; Set y-scroll	to normal position (because we do FLD later on..)
        sta $d011

        lda #$3d ; Wait for position high up on the screen
        cmp $d012
        bne *-3

	lda $d012 ; Ugly way to get stable raster
	and #7
        ora #$18
        sta $d011

        nop ; Wait some cycles to make the loop work fine
        nop
        nop
        nop
	nop
	lda 0

	ldx #0 ; Set 0 to counter
loop2
        clc ; Do FLD to avoid badlines
	lda $d012
	adc #4
	and #7
	ora #$18
	sta $d011

	ldy #5 ; Wait a	little
	dey
	bne *-1
PALFIX  nop
	nop

        dec $d016 ; Set	38-chars width of screen -> remove sideborder
        inc $d016 ; Set	back to	40-chars

        inx ; Increase counter
        cpx #$80
        bcc loop2 ; Branch if counter less than	$80

        jmp loop1 ; Next frame
base/removing_the_sideborders.txt · Last modified: 2018-11-04 13:16 by mrr19121970