home *** CD-ROM | disk | FTP | other *** search
- @program prog_code,prog_name
-
- ;************** Start of Fargo program ***************
-
- prog_code:
- jsr flib[clr_scr]
-
- main_loop:
- move.l addr(pc),a0
- clr.l d1
- move.w #14,d3
- hex_loop_1:
- move.l a0,d0
- clr.l d2
- move.w #5,d4
- jsr hexlib[put_hex]
- add.l #1,d2
- move.w #1,d4
- move.w #7,d5
- hex_loop_2:
- move.b (a0),d0
- jsr hexlib[put_hex]
- add.l #1,a0
- add.l #1,d2
- dbf.w d5,hex_loop_2
- add.l #1,d1
- dbf.w d3,hex_loop_1
-
- tst.w ($75B0)
- beq main_loop
- move.w ($75B2),d0
- clr.w ($75B0)
-
- cmp.w #$0152,d0
- beq key_up
- cmp.w #$0158,d0
- beq key_down
- cmp.w #$1152,d0
- beq key_up2
- cmp.w #$1158,d0
- beq key_down2
- cmp.w #$2152,d0
- beq key_up3
- cmp.w #$2158,d0
- beq key_down3
- cmp.w #$4152,d0
- beq key_up4
- cmp.w #$4158,d0
- beq key_down4
-
- cmp.w #$0108,d0
- beq exit
-
- move.w d0,d1
- and.w #$0FFF,d1
- sub.w #$010C,d1
- bcs main_loop
- cmp.w #8,d1
- bcc main_loop
- lea bookmark(pc),a0
- lsl.w #2,d1
- and.w #$F000,d0
- beq goto_bookmark
- make_bookmark:
- move.l addr(pc),0(a0,d1.w)
- bra main_loop
- goto_bookmark:
- move.l 0(a0,d1.w),addr
- bra main_loop
-
- key_up:
- sub.l #$8,addr
- bra main_loop
- key_down:
- add.l #$8,addr
- bra main_loop
- key_up2:
- sub.l #$100,addr
- bra main_loop
- key_down2:
- add.l #$100,addr
- bra main_loop
- key_up3:
- sub.l #$1000,addr
- bra main_loop
- key_down3:
- add.l #$1000,addr
- bra main_loop
- key_up4:
- sub.l #$10000,addr
- bra main_loop
- key_down4:
- add.l #$10000,addr
- bra main_loop
-
- exit:
- rts
-
- ;*****************************************************
- ; miscellaneous program data
- ;*****************************************************
-
- addr:
- dc.l 0
- bookmark:
- dc.l 0
- dc.l 0
- dc.l 0
- dc.l 0
- dc.l $005340
- dc.l $0078B4
- dc.l $020000
- dc.l $400000
-
- prog_name:
- dc.b "Hexidecimal memory viewer",0
- ds.w 0
-
- ;*************** End of Fargo program ****************
-
- reloc_open
- add_library flib
- add_library hexlib
- reloc_close
- end
-