home *** CD-ROM | disk | FTP | other *** search
- move.w #$7fff,custom+$9a
- move.w #$7fff,custom+$96
-
- lea program_start,a0
- lea rel_address,a1
- move.l #(program_end-program_start)-1,d0
- relocate_1 move.l (a0)+,(a1)+
- dbra d0,relocate_1
-
- jmp rel_address
-
- program_start
- bsr set_copper
- bsr open_library
- bsr open_file
- bsr read_file
-
- move.l 4,a6
- jsr -150(a6)
- move.w #$2700,sr
-
- move.l #load_address,a0
- move.l #$18400,a1
- move.l #86*256,d0
- .loop move.l (a0)+,(a1)+
- sub.l #1,d0
- bne .loop
-
- jmp $18400
-
- set_copper move.w #$c028,custom+$9a
- move.w #$83d0,custom+$96
- lea copper_list(pc),a0
- move.l a0,custom+$80
- move.l a0,custom+$84
- move.w d0,custom+$8a
- move.w d0,custom+$88
- rts
-
- open_library lea dos_name(pc),a1
- clr.l d0
- move.l 4,a6
- jsr openlibrary(a6)
- lea dos_base(pc),a0
- move.l d0,(a0)
- rts
-
- open_file lea filename(pc),a0
- move.l a0,d1
- move.l #1005,d2 ; old file
- move.l dos_base(pc),a6
- jsr open(a6)
- lea file_handle(pc),a0
- move.l d0,(a0)
- rts
-
- read_file move.l file_handle(pc),d1
- move.l #load_address,d2
- move.l #load_length,d3
- move.l dos_base(pc),a6
- jsr read(a6)
- rts
-
- int_exit rte
-
- custom equ $dff000
- load_address equ $2c040
- load_length equ $20000
- rel_address equ $78000
-
- openlibrary equ -552
- open equ -30
- read equ -42
- close equ -36
- dos_base dc.l 0
- file_handle dc.w 0
- filename dc.b "DF0:GHOULS.PRG",0
-
- even
- dos_name dc.b "dos.library",0
- even
- copper_list dc.w $0100,$4000
- dc.w $0102,$0000
- dc.w $008e,$3880
- dc.w $0090,$f8c0
- dc.w $0092,$0038
- dc.w $0094,$00d0
- dc.w $00e0,$0000
- dc.w $00e2,$0000
- dc.w $00e4,$0000
- dc.w $00e6,$0000
- dc.w $00e8,$0000
- dc.w $00ea,$0000
- dc.w $00ec,$0000
- dc.w $00ee,$0000
- dc.w $0180,$0000
- dc.w $0182,$0fff
- dc.w $0184,$0000
- dc.w $0186,$0000
- dc.w $0188,$0000
- dc.w $018a,$0000
- dc.w $018c,$0000
- dc.w $018e,$0000
- dc.w $0190,$0000
- dc.w $0192,$0000
- dc.w $0194,$0000
- dc.w $0196,$0000
- dc.w $0198,$0000
- dc.w $019a,$0000
- dc.w $019c,$0000
- dc.w $019e,$0000
- dc.w $ffff,$fffe
-
- ds.l 128
- mystack dc.l 0
- program_end
-