@program prog_code,prog_name prog_code: lea program,a0 moveq #46,d0 move.l #160,d1 jmp skittles[check_version] program: MOVE.L a1,a6 lea text_start(pc),a4 lea text_end(pc),a5 jsr skittles[scroll_text] jsr skittles[scroll_out] move.w #50,l(a6) move.w #170,r(a6) move.w #120,x(a6) move.w #1000,delay(a6) move.w #0,cycle(a6) move.w #1,sweep(a6) lea (a6),a4 moveq #31,d4 setup: move.w #170,64(a4) move.w #50,(a4)+ dbra d4,setup main_loop: lea LCD_MEM+30,a0 lea LCD_MEM+60,a1 move.w #944,d0 sul: move.l (a1)+,(a0)+ dbra d0,sul move.w 138(a6),d0 slow: dbra d0,slow lea (a6),a4 moveq #63,d0 uploop: move.w 2(a4),(a4)+ dbra d0,uploop move.w l(a6),d0 cmp.w #20,d0 bge.s no_ls move.w #1,sweep(a6) no_ls: add.w sweep(a6),d0 move.w d0,l(a6) move.w d0,62(a6) moveq #126,d1 lea LCD_MEM,a1 bsr pton subq.w #1,d0 bsr pton move.w r(a6),d0 cmp.w #220,d0 ble.s no_rs move.w #-1,sweep(a6) no_rs: add.w sweep(A6),d0 move.w d0,r(a6) move.w d0,126(a6) moveq #126,d1 lea LCD_MEM,a1 bsr pton addq.w #1,d0 bsr pton addq.w #1,cycle(a6) move.w cycle(a6),d0 and.w #63,d0 bne.s no_narrow subq.w #7,delay(a6) addq.w #1,l(a6) subq.w #1,r(a6) no_narrow: move.w cycle(a6),d0 ext.l d0 moveq #1,d1 moveq #26,d2 moveq #3,d4 jsr skittle2[put_dec] clr.l LCD_MEM+236 move.w x(a6),d0 moveq #93,d1 bsr ptoff subq.w #1,d0 bsr ptoff addq.w #2,d0 bsr ptoff subq.w #1,d0 subq.w #1,d1 bsr ptoff addq.w #2,d1 bsr ptoff move.w #%1111111111111110,$600018 nop btst #4,$60001b bne.s noleft subq.w #1,d0 noleft: btst #6,$60001b bne.s noright addq.w #1,d0 noright: move.w d0,x(a6) cmp.w (a6),d0 blt.s end cmp.w 64(a6),d0 bgt.s end bsr.s pton subq.w #1,d0 bsr.s pton addq.w #2,d0 bsr.s pton subq.w #1,d0 subq.w #1,d1 bsr.s pton addq.w #2,d1 bsr.s pton move.w #16384,d0 jsr flib[random] cmp.w #511,d0 bgt.s nocc and.w #30,d0 lea dirs,a0 move.w dirs(pc,d0.w),sweep(a6) nocc: move.w #%1111111011111111,$600018 nop btst #6,$60001b bne main_loop end: moveq #0,d0 moveq #0,d1 lea message(pc),a1 jsr skittles[text] moveq #0,d7 move.w cycle(a6),d7 lea scores(pc),a5 jmp skittle2[high_score] pton: movem.l d0/d1,-(sp) lea LCD_MEM,a1 jsr skittles[pt_on] movem.l (sp)+,d0/d1 rts dirs: dc.w 0,1,-1,0,1,-1,0,1,-1,0,1,-1,0,1,-1,0 ptoff: movem.l d0/d1,-(sp) lea LCD_MEM,a1 jsr skittles[pt_off] movem.l (sp)+,d0/d1 rts scores: dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 dc.b "Default score ",0 dc.l 50 x: equ 128 cycle: equ 130 l: equ 132 r: equ 134 sweep: equ 136 delay: equ 138 message: dc.b "GAME OVER!!! Press ESC",0 prog_name: dc.b "1.0.002 / Patrick Davidson",0 text_start: dc.b " " dc.b "Welcome to F-Kart! This is small " dc.b "game where you try to stay on a track. Press any " dc.b "key to start the game. In the " dc.b "game, use the cursor pad to " dc.b "move around. " dc.b "This game was programmed by " dc.b "Patrick Davidson. It was finished " dc.b "on June 22, 1997. To contact me, " dc.b "send E-Mail to ariwsi@juno.com " dc.b " " text_end: reloc_open add_library skittles add_library skittle2 add_library romlib add_library flib reloc_close end