bra skip filename dc.b "compfont.dat",0 ;destination name even pic incbin "compfont.pi1" ;source picture even skip bsr set_super dc.w $a00a bsr get_screen_base bsr get_old_palette bsr set_new_palette bsr get_original_rez bsr set_low_rez move.l screen_base,a1 lea pic+34,a0 move.w #32000/4-1,d0 loop move.l (a0)+,(a1)+ dbf d0,loop move.l screen_base,a0 DEPTH=16 lea buffer,a1 move.l a0,a6 move.w #5-1,d0 down move.w #20-1,d1 across offset set 0 REPT DEPTH move.b offset(a0),(a1)+ move.b #-1,offset(a0) offset set offset+160 bsr pause endr add.w #8,a0 dbf d1,across lea 160*18(a6),a6 move.l a6,a0 dbf d0,down move.l a1,a6 ;now save bsr f_create bsr f_write bsr f_close bsr set_old_palette bsr set_med_rez dc.w $a009 bsr set_user clr.w -(sp) trap #1 *********************** * SUBROUTINES SECTION * *********************** f_create move.w #0,-(sp) pea filename move.w #$3c,-(sp) trap #1 add.l #8,sp move.w d0,handle rts f_write lea buffer,a0 move.l a0,-(sp) sub.l a0,a6 move.l a6,-(sp) move.w handle,-(sp) move.w #$40,-(sp) trap #1 add.l #12,sp rts f_close move.w handle,-(sp) move.w #$3e,-(sp) trap #1 addq.l #4,sp rts pause move.w d0,-(sp) move.w #3000,d0 .pau nop dbf d0,.pau move.w (sp)+,d0 rts get_key move.w #7,-(sp) trap #1 addq.l #2,sp rts set_super clr.l -(sp) ;Set super stack equal move.w #$20,-(sp) ; to user stack before call trap #1 addq.l #6,sp ;correct stack move.l d0,stack_save ;save old supervisor stack value rts set_user move.l stack_save,-(sp) move.w #$20,-(sp) trap #1 ;back to user addq.l #6,sp ;correct stack rts get_old_palette movem.l $ffff8240.w,d0-d7 movem.l d0-d7,old_palette rts set_new_palette lea pic+2,a0 bra set_pal set_old_palette lea old_palette,a0 set_pal lea $ff8240,a1 move.w #8-1,d0 set_p move.l (a0)+,(a1)+ dbf d0,set_p rts get_screen_base move.w #3,-(sp) trap #14 addq.l #2,sp move.l d0,screen_base rts get_original_rez: move.w #4,-(sp) trap #14 addq.l #2,sp move.w d0,original_rez rts set_low_rez clr.w -(sp) bra set_rez set_med_rez move.w #1,-(sp) set_rez move.l #-1,-(sp) move.l #-1,-(sp) move.w #5,-(sp) trap #14 add.l #12,sp rts **************** * DATA SECTION * **************** stack_save: dc.l 0 screen_base dc.l 0 original_rez: dc.w 0 handle: dc.w 0 old_palette: ds.w 16 even buffer ds.b 2