diff --git a/023.slideshow/Makefile b/023.slideshow/Makefile index e95693f..35b5d13 100644 --- a/023.slideshow/Makefile +++ b/023.slideshow/Makefile @@ -6,7 +6,7 @@ HAM_MODE=1 BOOTBLOCK_ASM=alpine_bootblock.s -OBJS=out/init.o out/utils.o out/trackloader.o out/image.o +OBJS=out/init.o out/utils.o out/trackloader.o out/image.o out/blitter.o ifeq ($(INTERLACE),0) NOINTERLACE_EXTRA=mr8.png diff --git a/023.slideshow/image.s b/023.slideshow/image.s index 223242d..456810d 100644 --- a/023.slideshow/image.s +++ b/023.slideshow/image.s @@ -1,7 +1,8 @@ include "includes.i" - xref LoadNextImage - xref LoadModule + xdef LoadNextImage + xdef LoadModule + xdef SetupImage LoadNextImage: movem.l d0-a6,-(sp) diff --git a/023.slideshow/init.s b/023.slideshow/init.s index 11c91ed..b94efca 100644 --- a/023.slideshow/init.s +++ b/023.slideshow/init.s @@ -1,7 +1,7 @@ include "includes.i" - xref Init + xdef Init section CODE ;; custom chip base globally in a6 diff --git a/023.slideshow/slideshow.s b/023.slideshow/slideshow.s index 5dc8530..bd09912 100644 --- a/023.slideshow/slideshow.s +++ b/023.slideshow/slideshow.s @@ -1,14 +1,14 @@ include "includes.i" include "P6112-Options.i" - xref PokeBitplanePointers - xref Level3InterruptHandler - xref copperList - xref copperListAlternate - xref bitplanesp1 - xref bitplanesp2 - xref bitplanesp3 - xref Module1 + xdef PokeBitplanePointers + xdef Level3InterruptHandler + xdef copperList + xdef copperListAlternate + xdef bitplanesp1 + xdef bitplanesp2 + xdef bitplanesp3 + xdef Module1 byteMap: dc.l Entry @@ -36,6 +36,16 @@ Entry: jsr P61_Init move.w #(INTF_SETCLR|INTF_VERTB|INTF_INTEN),INTENA(a6) + + move.l bitplanesp2,a0 ; setup an empty bitplane + move.l #IMAGESIZE,d0 + jsr ClearMemory ; clear it + jsr WaitBlitter ; make sure it's clear + + move.l a0,a1 + bsr SetupImage ; select it + + jsr Init ; enable the playfield move.l #50*10,d0 .loop: @@ -44,7 +54,7 @@ Entry: jsr LoadNextImage - jsr Init + .mainLoop: jsr WaitVerticalBlank diff --git a/023.slideshow/trackloader.s b/023.slideshow/trackloader.s index 36ba5b1..92cf07a 100644 --- a/023.slideshow/trackloader.s +++ b/023.slideshow/trackloader.s @@ -1,6 +1,6 @@ *** MFMLoader.S by Photon *** ;requires a6=$dff002 - xref LoadMFMB + xdef LoadMFMB MFMsync equ $4489 ;AmigaDOS standard sync marker. MFMlen equ 12980 ;Legacy trackdata read length in bytes diff --git a/023.slideshow/utils.s b/023.slideshow/utils.s index c36fcdb..54920d2 100644 --- a/023.slideshow/utils.s +++ b/023.slideshow/utils.s @@ -1,6 +1,7 @@ - xref WaitVerticalBlank - xref WaitRaster - xref Depack + xdef WaitVerticalBlank + xdef WaitRaster + xdef Depack + WaitVerticalBlank: movem.l d0-a6,-(sp) @@ -10,7 +11,8 @@ WaitVerticalBlank: bne.b .loop movem.l (sp)+,d0-a6 rts - + + WaitRaster: ;wait for rasterline d0.w. Modifies d0-d2/a0. movem.l d0-a6,-(sp) move.l #$1ff00,d2 @@ -24,6 +26,7 @@ WaitRaster: ;wait for rasterline d0.w. Modifies d0-d2/a0. movem.l (sp)+,d0-a6 rts + Depack: ;a0 = input buffer to be decompressed. Must be 16-bit aligned! ;a1 = output buffer. Points to the end of the data at exit @@ -33,4 +36,6 @@ Depack: rts ;; this is one FAST decompression routine! - include "../tools/external/doynamite68k/depacker_doynax.asm" \ No newline at end of file + include "../tools/external/doynamite68k/depacker_doynax.asm" + +