@program prog_code,prog_name ;************** Start of Fargo program *************** ;Hardware graylevels - by Tleilax ;Temporary E-Mail : zorg@humanoid.net ;This version enables 2 bitplanes 4 gray levels (poor quality) prog_name: dc.b "Hardware graylevels",0 MyHandle dc.w 0 Screen1 dc.l 0 Screen2 dc.l 0 Screen3 dc.l 0 Screen4 dc.l 0 Screen5 dc.l 0 Screen6 dc.l 0 DS1 dc.w 0 DS2 dc.w 0 EVEN Wait: move.w #100,d0 WL: dbf d0,WL rts prog_code: move #$2700,sr move.l #4096*5,-(a7) jsr romlib[create_handle] add #4,a7 tst.w d0 beq PC_End move.w d0,MyHandle handle_ptr d0,a0 move.l a0,d0 add.l #7,d0 and.b #$f8,d0 move.l d0,Screen1 move.l d0,d1 lsr.l #3,d1 move.w d1,DS1 add.l #4096,d0 move.l d0,Screen2 move.l d0,d1 lsr.l #3,d1 move.w d1,DS2 add.l #4096,d0 move.l d0,Screen3 add.l #4096,d0 move.l d0,Screen4 add.l #4096,d0 move.l d0,Screen5 add.l #4096,d0 move.l d0,Screen6 ;Try to change the following values. Many interresting things may ;happen. move.w DS1,$600010 move.b #$f0,$600012 ;freq? move.b #$0a,$600003 ;move.b #$00,$60001f move.l Screen1,a0 move.w #64*256/32-1,d0 PC_Loop1: move.l #$ffffffff,(a0)+ dbf d0,PC_Loop1 move.w #64*256/32-1,d0 PC_Loop2: clr.l (a0)+ dbf d0,PC_Loop2 move.w #32*256/32-1,d0 PC_Loop3: move.l #$ffffffff,(a0)+ dbf d0,PC_Loop3 move.w #32*256/32-1,d0 PC_Loop4: clr.l (a0)+ dbf d0,PC_Loop4 move.w #32*256/32-1,d0 PC_Loop5: move.l #$ffffffff,(a0)+ dbf d0,PC_Loop5 move.w #32*256/32-1,d0 PC_Loop6: clr.l (a0)+ dbf d0,PC_Loop6 move.l Screen1,a0 add #2,a0 move.w #250,d0 PC_Loop7: clr.l (a0) add #32,a0 dbf d0,PC_Loop7 move.l Screen3,a0 move.w #128*256/32-1,d0 PC_Loop8: move.l #$ffff0000,(a0)+ dbf d0,PC_Loop8 move.l Screen4,a0 move.w #128*256/32-1,d0 PC_Loop9: move.l #$ff00ff00,(a0)+ dbf d0,PC_Loop9 ; move.l Screen5,a0 ; move.w #128*256/32-1,d0 ; PC_Loop10: ; move.l #$f0f0f0f0,(a0)+ ; dbf d0,PC_Loop10 ; ; move.l Screen6,a0 ; move.w #128*256/32-1,d0 ; PC_Loop11: ; move.l #$cccccccc,(a0)+ ; dbf d0,PC_Loop11 ;bsr Do_WaitKey WLoop: move.w #0,d3 bsr Do_GetKey cmp.b #$ff,d3 beq WLoop PC_Free: move.b #$31,$600012 ;freq? move.w MyHandle,-(a7) jsr romlib[destroy_handle] add #2,a7 PC_End: move.w #$4440/8,$600010 move #$2000,sr rts Do_WaitKey: move.l #$75AA,a0 DWK_Loop: tst.w 6(a0) beq DWK_Loop clr.w 6(a0) move.w 8(a0),d0 rts Do_GetKey: move.w d3,($600018) nop nop nop nop move.b ($60001B),d3 rts ;*************** End of Fargo program **************** reloc_open add_library romlib reloc_close end