@program prog_code,prog_name prog_code: move.w #$2700,sr tst.l ($120) bne ShowPhoto move.l ($20078),($120) clr.w ($124) lea newint,a0 lea $200,a1 move.l #200,d0 RepCopyInt: move.b (a0)+,(a1)+ dbra d0,RepCopyInt move.l #$200,($20078) lea onstat(PC),a0 bra CopyStat rts ShowPhoto: move.l ($120),($20078) move.w #$2000,sr clr.l ($120) move.b ($124),layers beq SkipSend cmp.b #1,layers beq SkipGS jsr graylib[on] lea $1200,a0 move.l #959,d0 RepCopyL2: move.l (a0)+,(a6)+ dbra d0,RepCopyL2 SkipGS: lea $300,a0 lea $4440,a1 move.l #959,d0 RepCopyL1: move.l (a0)+,(a1)+ dbra d0,RepCopyL1 jsr flib[idle_loop] cmp.b #1,layers beq SkipGS2 jsr graylib[off] SkipGS2: cmp.w #$108,d0 beq SkipSend jsr flib[clr_scr] SendHeader: tst.w ($75B0) bne SkipSend jsr romlib[tx_free] cmp.w #8,d0 bcs SendHeader move.w #5,-(a7) pea header(PC) jsr romlib[transmit] lea 6(a7),a7 moveq #63,d5 cmp.b #1,layers beq Send moveq #127,d5 Send: lea $300,a2 SendDRow: tst.w ($75B0) bne SkipSend jsr romlib[tx_free] cmp.w #70,d0 bcs SendDRow move.w #60,-(a7) move.l a2,-(a7) jsr romlib[transmit] lea 6(a7),a7 adda #60,a2 dbra d5,SendDRow WaitDone: tst.w ($75B0) bne SkipSend jsr romlib[tx_free] cmp.b #$80,d0 bne WaitDone SkipSend: lea offstat(PC),a0 CopyStat: moveq #3,d0 lea prog_name+9(PC),a1 RepCopyStat: move.b (a0)+,(a1)+ dbra d0,RepCopyStat jsr romlib[reset_link] clr.w ($75B0) rts newint tst.w ($124) bne int_end move.b #1,($124) move.l a6,($126) lea $1F0,a6 movem.l d0-d7/a0-a5,-(a6) lea $4440,a0 lea $300,a1 bsr CopyScr clr.l d0 RepScanHandle: move.l d0,d1 handle_ptr d1,a0 cmp #0,a0 beq FlashScreen move.w -2(a0),d2 cmp.w #$785,d2 bne CheckNextHandle move.b #2,($124) move.l a0,d0 add.l #7,d0 asr.l #3,d0 asl.l #3,d0 move.l d0,a0 bsr CopyScr bra FlashScreen CheckNextHandle: addq #1,d0 bra RepScanHandle FlashScreen: moveq #19,d1 RepInverseScr: move.l #959,d0 lea $4440,a0 RepInv: eori.l #$FFFFFFFF,(a0)+ dbra d0,RepInv dbra d1,RepInverseScr movem.l (a6)+,d0-d7/a0-a6 move.l ($126),a6 int_end move.l ($120),-(a7) rts CopyScr: move.l #959,d0 RepCopyScr: move.l (a0)+,(a1)+ dbra d0,RepCopyScr rts prog_name: dc.b "FCamera [OFF] by Jimmy M",229,"rdell",0 onstat dc.b "ON] " offstat dc.b "OFF]" header dc.b "FCam" layers dc.b 1 reloc_open add_library flib add_library romlib add_library graylib reloc_close end