execbase = 4 allocmem = -198 freemem = -210 openlib = -552 closelib = -414 ; initbitmap = -390 initrastport = -198 text = -060 move = -240 setapen = -342 rectfill = -306 clipblit = -552 ; bsr opengfx beq end2 bsr initscr beq ende bsr status bsr balken moveq #0,d1 loop: cmpi.b #$3c,$dff006 bne loop move $dff00a,d0 lsr #8,d0 and.l #$ff,d0 move y,d2 move d0,y cmp.b d0,d2 blt wenig bgt mehr bsr los btst #6,$bfe001 bne hinl btst #10,$dff016 beq ende3 hinl: btst #6,$bfe001 bne nu move.l horu,d0 moveq #1,d1 move.b #"<",htexte-2 cmp.l #0,d0 beq wert moveq #0,d1 move.b #">",htexte-2 wert: move.l d1,horu bsr status bra loop nu: btst #10,$dff016 bne no move.l flaglh,d0 moveq #1,d1 move.l cop,a0 add.l #toll-copa,a0 move #$9200,(a0) move.b #"H",htexte-3 cmp.l #0,d0 beq wert2 moveq #0,d1 move #$1200,(a0) move.b #"L",htexte-3 wert2: move.l d1,flaglh bsr status bra loop no: bra loop ende3: bsr closescr ende: bsr closegfx ende2: moveq #0,d0 rts ; scroll: move.l gfxbase,a6 move.l rast,a0 move.l rast,a1 moveq #1,d0 moveq #0,d1 moveq #0,d2 moveq #0,d3 move.l #199,d4 moveq #10,d5 move.l #$c0,d6 jsr clipblit(a6) move.l texta,d0 add.l #1,d0 cmp.l #8,d0 bne nna bsr texter moveq #0,d0 nna: move.l d0,texta rts ; texter: move.l gfxbase,a6 move.l rast,a1 move.l #191,d0 moveq #7,d1 jsr move(a6) move.l gfxbase,a6 move.l rast,a1 lea textert,a0 add.l pose,a0 moveq #1,d0 jsr text(a6) move.l pose,d0 add.l #1,d0 move.l d0,d1 add.l #textert,d1 cmp.l #texterte,d1 bne nidsnzu moveq #0,d0 nidsnzu: move.l d0,pose rts ; mehr: move.l speed,d0 cmp.l #8,d0 beq loop add.l #1,d0 move.l d0,speed bra loop wenig: move.l speed,d0 cmp.l #0,d0 beq loop sub.l #1,d0 move.l d0,speed bra loop ; opengfx: move.l execbase,a6 lea gfxname,a1 moveq #0,d0 jsr openlib(a6) move.l d0,gfxbase rts ; status: move.l gfxbase,a6 move.l rast,a1 move.l #200,d0 moveq #7,d1 jsr move(a6) move.l gfxbase,a6 move.l rast,a1 lea texte,a0 moveq #2,d0 jsr text(a6) rts ; closegfx: move.l execbase,a6 move.l gfxbase,a1 jsr closelib(a6) rts ; balken: move.l gfxbase,a6 move.l rast,a1 moveq #0,d0 jsr setapen(a6) move.l gfxbase,a6 move.l rast,a1 move.l #220,d0 moveq #0,d1 move.l #230,d2 moveq #8,d3 jsr rectfill(a6) move.l gfxbase,a6 move.l rast,a1 moveq #1,d0 jsr setapen(a6) move.l gfxbase,a6 move.l rast,a1 move.l #220,d0 moveq #8,d1 sub.l speed,d1 move.l #230,d2 moveq #8,d3 jsr rectfill(a6) rts ; los: bsr scroll move.l adr,d1 move.l d1,d0 move.l cop,a0 add.l #plan-copa,a0 bsr eint move.l speed,d0 mulu #40,d0 move.l flaglh,d2 add.l #1,d2 mulu d2,d0 move.l horu,d4 cmp.l #1,d4 beq ju add.l d0,d1 bra ja ju: sub.l d0,d1 ja: cmp.l #0,d1 bge a5zae move.l #524288,d1 a5zae: cmp.l #524288,d1 ble a0zae moveq #0,d1 a0zae: move.l d1,adr lsl.l #4,d1 moveq #7,d0 lea htexte+1,a0 hlo: move.l d1,d2 and.l #$f,d2 lea hexta,a1 add.l d2,a1 move.b (a1),(a0)+ rol.l #4,d1 dbra d0,hlo move.l gfxbase,a6 move.l rast,a1 move.l #240,d0 moveq #7,d1 jsr move(a6) move.l gfxbase,a6 move.l rast,a1 lea htexte,a0 moveq #9,d0 jsr text(a6) bsr balken rts ; initscr: move.l execbase,a6 move.l #$10003,d1 move.l #40*20+cope-copa+116,d0 jsr allocmem(a6) beq end2 lea copa,a0 move.l d0,plane1 bsr eint add.l #10*40,d0 move.l d0,plane2 bsr eint add.l #10*40,d0 move.l d0,cop add.l #cope-copa,d0 move.l d0,bitm add.l #16,d0 move.l d0,rast ; Copperliste copieren move.l cop,a1 lea copa,a0 move.l #cope-copa-1,d0 coop: move.b (a0)+,(a1)+ dbra d0,coop move.l bitm,a0 move.l gfxbase,a6 moveq #1,d0 move.l #320,d1 moveq #10,d2 jsr initbitmap(a6) move.l bitm,a0 move.l plane1,8(a0) move.l gfxbase,a6 move.l rast,a1 jsr initrastport(a6) move.l rast,a1 move.l bitm,4(a1) move #$4000,$dff09a move.l cop,$dff084 clr $dff08a move.l plane2,a0 add.l #24,a0 moveq #9,d0 klop: move.b #$ff,(a0) add.l #40,a0 dbra d0,klop moveq #1,d0 end2: tst.l d0 rts ; closescr: clr $dff088 move #$c000,$dff09a move.l execbase,a6 move.l plane1,a1 move.l #40*20+cope-copa+116,d0 jsr freemem(a6) move #$8020,$dff096 rts ; eint: swap d0 add.l #2,a0 move d0,(a0)+ swap d0 add.l #2,a0 move d0,(a0)+ rts ; horu: dc.l 0 y: dc.w 0 speed: dc.l 8 flaglh: dc.l 1 adr: dc.l 0 gfxbase: dc.l 0 gfxname: dc.b "graphics.library",0 texte: dc.b "H>",0 htexte: dc.b "$00000000" hexta: dc.b "0123456789ABCDEF",0 plane1: dc.l 0 plane2: dc.l 0 rast: dc.l 0 bitm: dc.l 0 cop: dc.l 0 pose: dc.l 0 texta: dc.l 0 copa: dc.w $e0,0,$e2,0,$e4,0,$e6,0 dc.w $100,$2200 dc.w $8e,$2c81,$90,$f4c1,$92,$38,$94,$d0,$96,$20 dc.w $2c0f,$fffe,$0180,$f,$0182,$f00,$0184,$f,$186,$f dc.w $2d0f,$fffe,$0182,$f10,$108,-40,$10a,-40 dc.w $2e0f,$fffe,$0182,$f20,$108,0,$10a,0 dc.w $2f0f,$fffe,$0182,$f30,$108,-40,$10a,-40 dc.w $300f,$fffe,$0182,$f40,$108,0,$10a,0 dc.w $310f,$fffe,$0182,$f50,$108,-40,$10a,-40 dc.w $320f,$fffe,$0182,$f60,$108,0,$10a,0 dc.w $330f,$fffe,$0182,$f70,$108,-40,$10a,-40 dc.w $340f,$fffe,$0182,$f80,$108,0,$10a,0 dc.w $350f,$fffe,$0182,$f90,$108,-40,$10a,-40 dc.w $360f,$fffe,$0182,$fa0,$108,0,$10a,0 dc.w $370f,$fffe,$0182,$fb0,$108,-40,$10a,-40 dc.w $380f,$fffe,$0182,$fc0,$108,0,$10a,0 dc.w $390f,$fffe,$0182,$fd0,$108,-40,$10a,-40 dc.w $3a0f,$fffe,$0182,$fe0,$108,0,$10a,0 dc.w $3b0f,$fffe,$0182,$ff0,$3c0f,$fffe,$0180,0,$184,0 dc.w $3d0f,$fffe,$100 toll: dc.w $9200,$0180,0,$0182,$fff plan: dc.w $e0,0,$e2,0 dc.w $c30f,$fffe,$0180,$0 dc.l -2 cope: textert: dc.b "Here is the new version of MEMLOOK called ´MEMLOOK II´ " dc.b " written by Thomas Jansen ... HELP : the right Mouse" dc.b "button - You can change the viewmode ( Lores - Hires ) ... " dc.b ", left Mousebutton - You can change the direction of the " dc.b "scrolling ( Memory ) , Mouse up / down - the scroll-speed will " dc.b "go faster or slower ... , left & right Mousebutton - Quit " dc.b "MEMLOOK * If you want to contact me , write to : T. J" dc.b "ansen / Hauptstraße 21 / 4773 Möhnesse ( Körbecke ) / W-" dc.b "Germany Some of my other tools : Special-Windows ( You " dc.b "can close windows or you can edit the title or the IDCMP-" dc.b "Flag ) , ALERT3.5 ( You can edit alert´s ... ) , Mouse ( " dc.b "You can draw and use Mousepointers with 16 Colors ! ) ..." dc.b " Greetings to : Oliver Wagner , Peter Handle , Andreas ... " dc.b " WAIT : This Programm is Freeware ... " texterte: