***** INFO 40 ****** bra skip dc.b "GO AWAY NOSEY!!! IF YOU WANT TO CONTACT ME " DC.B "THEN WRITE TO... MARK, 16 CARR LANE, " DC.B "HAMBLETON, BLACKPOOL, FY6 9AZ. " skip bsr set_super dc.w $a00a move.b #$12,$fffffc02.w bsr get_screen_base bsr get_old_palette bsr set_new_palette bsr get_original_rez bsr set_low_rez move.w pic+4,d0 move.w d0,end_pal move.w d0,end_pal+2 move.w d0,end_pal+4 move.w d0,end_pal+6 bsr show_pic move.l screen_base,a0 add.w #26*160,a0 move.l a0,spec_pos ;************************************************************************ ;* CRISPY3 * ;* ------- * ;* Stolen by: MAC SYS DATA of P.O.V. 14/10/90 19:30 * ;* From: AUTOMATION disc 121 * ;* Include files:- * ;* 121.IMG into TUNE * ;************************************************************************ ;* Written By CRISPY NOODLE move.b $484,old484 and.b #%11111100,$484.w ;off with keyclick/bell ;**************************************************************** ; There is only one tune... jsr tune bsr init_isr bsr sort_disc_text bsr scroll move.w #$ffff,disc_enable main_loop: bsr vsync ; move.w #$123,$ffff8240.w bsr spec bsr clear_old bsr scroll bsr cycle bsr print_disc bsr print_disc bsr clear_spec ; move.w pic+2,$ffff8240.w move.b $fffffc02.w,d0 ;is a key pressed? btst #7,d0 bne.s main_loop ;NO!!!!!!!! cmp.b #$01,d0 beq.s shut_down tst.w disc_enable bne.s main_loop ;to prevent update overlap cmp.b #$48,d0 ;cursor up beq dec_thru_list cmp.b #$50,d0 ;cursor down beq inc_thru_list bra.s main_loop shut_down bsr isr_off bsr endmus bsr set_old_palette bsr set_med_rez move.b #8,$fffffc02.w dc.w $a009 bsr set_user clr.w -(sp) move.w #$4c,-(sp) trap #1 ******************* * CUSTOM ROUTINES * ******************* clear_spec lea spec_values,a0 move.w #10-1,d0 .cnt_down move.b (a0)+,d1 beq.s .next sub.b #1,-1(a0) .next move.b (a0)+,d1 beq.s .next2 sub.b #1,-1(a0) .next2 move.b (a0)+,d1 beq.s .next3 sub.b #1,-1(a0) .next3 move.b (a0)+,d1 beq.s .next4 sub.b #1,-1(a0) .next4 move.b (a0)+,d1 beq.s .next5 sub.b #1,-1(a0) .next5 move.b (a0)+,d1 beq.s .next6 sub.b #1,-1(a0) .next6 move.b (a0)+,d1 beq.s .next7 sub.b #1,-1(a0) .next7 move.b (a0)+,d1 beq.s .next8 sub.b #1,-1(a0) .next8 dbf d0,.cnt_down move.l spec_pos,a0 sub.w #24*160,a0 moveq #0,d1 REPT 25 move.w d1,(a0) move.w d1,8(a0) move.w d1,16(a0) move.w d1,24(a0) move.w d1,32(a0) move.w d1,40(a0) move.w d1,48(a0) move.w d1,56(a0) move.w d1,64(a0) move.w d1,72(a0) move.w d1,80(a0) move.w d1,88(a0) move.w d1,96(a0) move.w d1,104(a0) move.w d1,112(a0) move.w d1,120(a0) move.w d1,128(a0) move.w d1,136(a0) move.w d1,144(a0) move.w d1,152(a0) lea 160(a0),a0 ENDR rts ************************************************ AFINE equ 0 ACOURSE equ 1 BFINE equ 2 BCOURSE equ 3 CFINE equ 4 CCOURSE equ 5 COURCE_SHIFT equ 3 FINE_SHIFT equ 5 spec lea $ffff8800.w,a1 move.b #8,(a1) move.b (a1),d0 beq.s do_b move.b #ACOURSE,(a1) ;A course tune move.b (a1),d0 and.w #$ff,d0 lsl.w #COURCE_SHIFT,d0 lea spec_values,a2 move.w d0,d1 move.b #AFINE,(a1) ;A fine tune move.b (a1),d0 and.w #$ff,d0 lsr.w #FINE_SHIFT,d0 add.w d0,d1 add.w d1,a2 move.b #24,(a2) ****************** do_b move.b #9,(a1) move.b (a1),d0 beq.s do_c move.b #BCOURSE,(a1) ;B course tune move.b (a1),d0 and.w #$ff,d0 lsl.w #COURCE_SHIFT,d0 lea spec_values,a2 move.w d0,d1 move.b #BFINE,(a1) ;B fine tune move.b (a1),d0 and.w #$ff,d0 lsr.w #FINE_SHIFT,d0 add.w d0,d1 add.w d1,a2 move.b #24,(a2) ****************** do_c move.b #$a,(a1) move.b (a1),d0 beq.s ps move.b #CCOURSE,(a1) ;C course tune move.b (a1),d0 and.w #$ff,d0 lsl.w #COURCE_SHIFT,d0 lea spec_values,a2 move.w d0,d1 move.b #CFINE,(a1) ;C fine tune move.b (a1),d0 and.w #$ff,d0 lsr.w #FINE_SHIFT,d0 add.w d0,d1 add.w d1,a2 move.b #24,(a2) ******************** print speccy ******************* ps move.l spec_pos,a0 lea spec_values,a2 move.b #20-1,d1 .loop move.l a0,a1 move.b (a2)+,d0 beq.s .nib2 and.w #$ff,d0 .loop1 move.b #%01110000,(a1) lea -160(a1),a1 dbf d0,.loop1 .nib2 move.b (a2)+,d0 beq.s .nib3 and.w #$ff,d0 move.l a0,a1 .loop2 or.b #%00000111,(a1) lea -160(a1),a1 dbf d0,.loop2 .nib3 move.b (a2)+,d0 beq.s .nib4 and.w #$ff,d0 move.l a0,a1 .loop3 or.b #%01110000,1(a1) lea -160(a1),a1 dbf d0,.loop3 .nib4 move.b (a2)+,d0 beq.s .nonib and.w #$ff,d0 move.l a0,a1 .loop4 or.b #%00000111,1(a1) lea -160(a1),a1 dbf d0,.loop4 .nonib add.w #8,a0 dbf d1,.loop rts dec_thru_list tst.w disc_number bne.s .do_dec bra main_loop .do_dec subq.w #1,disc_number moveq #0,d0 move.w disc_number,d0 lsl.w #2,d0 lea disc_start_table,a0 add.w d0,a0 move.l (a0),disc_text_pos move.w #$ffff,disc_enable move.w #$ffff,is_clear bra main_loop inc_thru_list cmp.w #39,disc_number bne.s .do_inc bra main_loop .do_inc addq.w #1,disc_number moveq #0,d0 move.w disc_number,d0 lsl.w #2,d0 lea disc_start_table,a0 add.w d0,a0 move.l (a0),disc_text_pos move.w #$ffff,disc_enable move.w #$ffff,is_clear bra main_loop print_disc tst.w disc_enable bne.s .do_stuff rts .do_stuff tst.w is_clear beq.s .do_rout bra do_clear .do_rout move.l disc_text_pos,a1 move.l screen_base,a0 add.w #(8*15)*160,a0 .restart moveq #0,d1 lea minifont,a2 move.b (a1)+,d1 move.l a1,disc_text_pos cmp.b #"^",d1 ;termintor bne.s .do_text clr.w disc_enable clr.b xpos clr.w ypos clr.w byte_offset rts .do_text cmp.b #13,d1 bne.s .notcr clr.b xpos clr.w byte_offset bra.s .restart .notcr cmp.b #10,d1 bne.s .notlf addq.b #1,ypos bra.s .restart .notlf sub.w #32,d1 lsl.w #3,d1 add.w d1,a2 move.b ypos,d0 and.b #$ff,d0 mulu #160*8,d0 add.w d0,a0 move.b xpos,d0 and.w #$ff,d0 lsr.w #1,d0 ;\2 lsl.w #3,d0 ;*8 add.w d0,a0 add.w byte_offset,a0 add.w tab_offset,a0 move.b (a2)+,(a0) move.b (a2)+,160(a0) move.b (a2)+,320(a0) move.b (a2)+,480(a0) move.b (a2)+,640(a0) move.b (a2)+,800(a0) move.b (a2)+,960(a0) move.b (a2)+,1120(a0) addq.b #1,xpos eor.w #1,byte_offset rts do_clear tst.w lines_to_clear bne.s .not_all_done clr.w is_clear move.w #10,lines_to_clear move.l screen_base,a0 add.w #(8*15)*160,a0 move.l a0,line_add rts .not_all_done move.l line_add,a0 moveq #0,d0 move.w #9,d1 .loop OFF set 0 REPT 20 move.w d0,OFF(a0) OFF set OFF+8 ENDR add.w #8*160,a0 dbf d1,.loop subq.w #1,lines_to_clear add.l #160,line_add rts scroll: move.l sine_position,a1 cmp.b #$ff,(a1) bne.s .no_reset lea sine_table,a1 move.l a1,sine_position .no_reset moveq #0,d0 move.b (a1)+,d0 move.l a1,sine_position move.l d0,d1 lsl.l #7,d1 lsl.w #5,d0 add.l d1,d0 ; mulu #160,d0 move.l screen_base,a1 add.w d0,a1 move.l a1,old_scroll_pos lea font_offsets,a2 lea font,a3 move.l scroll_pointer,a4 move.l a4,a5 moveq #0,d4 moveq #40,d5 move.w char_offset,d6 next_char move.b (a5),d7 ;get a letter sub.b #32,d7 ;rid of ASCII ext.w d7 moveq #0,d0 move.l a3,a0 move.b (a2,d7),d0 mulu #120,d0 add.w d0,a0 move.w d6,d0 mulu #30,d0 add.w d0,a0 .column OFF set 0 REPT 30 move.b (a0)+,OFF(a1) OFF set OFF+160 ENDR subq.w #1,d5 beq.s .finish addq.w #1,a1 tst.w d4 beq.s .skip addq.w #6,a1 .skip not.w d4 addq.w #1,d6 and.w #3,d6 bne .column addq.w #1,a5 tst.b (a5) bpl next_char lea scroll_text,a5 bra next_char .finish addq.w #1,char_offset and.w #3,char_offset bne.s .end addq.w #1,a4 tst.b (a4) bpl.s .end lea scroll_text,a4 .end move.l a4,scroll_pointer rts clear_old move.l old_scroll_pos,a0 moveq #0,d0 REPT 30 move.w d0,(a0) move.w d0,8(a0) move.w d0,16(a0) move.w d0,24(a0) move.w d0,32(a0) move.w d0,40(a0) move.w d0,48(a0) move.w d0,56(a0) move.w d0,64(a0) move.w d0,72(a0) move.w d0,80(a0) move.w d0,88(a0) move.w d0,96(a0) move.w d0,104(a0) move.w d0,112(a0) move.w d0,120(a0) move.w d0,128(a0) move.w d0,136(a0) move.w d0,144(a0) move.w d0,152(a0) lea 160(a0),a0 ENDR rts cycle move.l colours_pos,a0 cmp.w #$ffff,(a0) bne.s .no_reset lea colours,a0 move.l a0,colours_pos .no_reset move.w (a0)+,col3 move.w (a0)+,col7 move.w (a0)+,col11 move.w (a0)+,col15 move.l a0,colours_pos rts *********************** * SUBROUTINES SECTION * *********************** v_sync: movem.l d0-d3/a0-a3,-(sp) ;system sync move.w #$25,-(sp) trap #14 addq.l #2,sp movem.l (sp)+,d0-d3/a0-a3 rts tst_key: move.w #11,-(sp) trap #1 addq.l #2,sp 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 lea old_palette,a1 movem.l d0-d7,(a1) rts set_new_palette: lea pic+2,a0 bra.s set_pal set_old_palette: lea old_palette,a0 set_pal: movem.l (a0),d0-d7 movem.l d0-d7,$ffff8240.w 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.s 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 endmus: lea $ffff8800.w,a0 move.l #$8080000,(a0) move.l #$9090000,(a0) move.l #$a0a0000,(a0) rts show_pic move.l screen_base,a1 lea pic+34,a0 move.w #32000/4-1,d0 .loop move.l (a0)+,(a1)+ dbf d0,.loop rts sort_disc_text lea disc_text,a0 lea disc_start_table,a1 move.l a0,(a1)+ .loop cmp.b #$ff,(a0) beq.s .quit move.b (a0)+,d0 cmp.b #'^',d0 bne.s .loop move.b (a0)+,d0 ;cr move.b (a0)+,d0 ;lf move.l a0,(a1)+ bra.s .loop .quit rts ********************************* isr bits ***************** init_isr move.w #$2700,sr move.l $120.w,old120 move.l $70.w,old70 move.l $118.w,old118 move.l $118.w,key_frig+2 move.b $fffffa09.w,a09 move.b $fffffa07.w,a07 move.b $fffffa13.w,a13 and.b #$df,$fffffa09.w and.b #$fe,$fffffa07.w move.l #isr_keys,$118.w move.l #isr1,$120.w move.l #isr2,$70.w or.b #1,$fffffa07.w or.b #1,$fffffa13.w move.w #$2300,sr rts isr_keys move.w #$2500,sr key_frig jmp 0 isr1: move.b #0,$fffffa1b.w ;$120 move.l a0,-(sp) move.l isr_data,a0 move.w (a0)+,$ffff8242.w move.l a0,isr_data move.l (sp)+,a0 move.l #isr1_2,$120.w move.b #1,$fffffa21.w move.b #8,$fffffa1b.w bclr #0,$fffffa0f.w rte isr1_2: move.b #0,$fffffa1b.w ;$120 addq.w #1,isr120_count cmp.w #63,isr120_count bge.s set_exi120 move.l a0,-(sp) move.l isr_data,a0 move.w (a0)+,$ffff8242.w move.l a0,isr_data move.l (sp)+,a0 move.b #1,$fffffa21.w move.b #8,$fffffa1b.w bclr #0,$fffffa0f.w rte set_exi120 move.l a0,-(sp) move.l isr_data,a0 move.w (a0),$ffff8242.w move.w 2(a0),$ffff8246.w add.l #2,isr_data move.l (sp)+,a0 move.l #exi120,$120 move.b #2,$fffffa21.w move.b #8,$fffffa1b.w bclr #0,$fffffa0f.w rte exi120 move.b #0,$fffffa1b.w ;$120 move.l a0,-(sp) move.l isr_data,a0 move.w (a0),$ffff8242.w move.w 2(a0),$ffff8246.w move.w 2(a0),$ffff824e.w move.w 2(a0),$ffff8256.w move.w 2(a0),$ffff825e.w add.l #2,isr_data move.l (sp)+,a0 move.w col3,$ffff8244.w move.w col7,$ffff824c.w move.w col11,$ffff8254.w move.w col15,$ffff825c.w move.b #2,$fffffa21.w move.b #8,$fffffa1b.w bclr #0,$fffffa0f.w rte isr120_count dc.w 0 isr2: ;$70 move.b #0,$fffffa1b.w ;timer B move.l #msd_pal,isr_data movem.l d0-d7,-(sp) movem.l pic+2,d0-d7 movem.l d0-d7,$ffff8240.w movem.l (sp)+,d0-d7 clr.w vsync_flag clr.w isr120_count jsr tune+$a8 move.l #isr1,$120.w move.b #50,$fffffa21.w move.b #8,$fffffa1b.w bclr #0,$fffffa0f.w rte vsync: move.w #-1,vsync_flag vsyn: tst.w vsync_flag bne.s vsyn rts isr_off: move.w #$2700,sr move.l old70,$70.w and.b #$df,$fffffa09.w and.b #$fe,$fffffa07.w move.l old120,$120.w move.l old118,$118.w move.b a07,$fffffa07.w move.b a09,$fffffa09.w move.b a13,$fffffa13.w move.w #$2300,sr lea $ffff8800.w,a0 move.l #$8080000,(a0) move.l #$9090000,(a0) move.l #$a0a0000,(a0) move.b old484,$484 rts **************** * DATA SECTION * **************** SECTION DATA key dc.w 0 stack_save: dc.l 0 screen_base dc.l 0 original_rez: dc.w 0 old_palette: ds.w 16 ******************************* scroller info *********** old_scroll_pos dc.w 0 scroll_number: dc.w 0 scroll_buffer: ds.b 44*35+4*35 scroll_pointer: dc.l scroll_text+7 scroll_text: dc.b " " dc.b "............. PERSISTENCE OF VISION INFO 40. " DC.B "ALL CODING, ART AND MUSIC RIPPING BY MAC SYS DATA. " DC.B " HIDDEN SCREEN CODED BY MAC SYS DATA WITH SCROLL CODE " DC.B "BY BORIS. " dc.b "INSTRUCTIONS: USE THE CURSOR KEYS TO VIEW THE DETAILS " DC.B "OF EACH DISC. - IMPORTATANT - TO AID THE DISTRIBUTION " DC.B "OF P.O.V. DISCS WE CAN NOW RELEASE A CONTACT ADDRESS. THE " DC.B "ADDRESS IS OF AN EX-MEMBER OF P.O.V. WHO HAS RE-JOINED " DC.B "OUR CREW FOR THE SOLE PURPOSE OF DISTRIBUTION AND SWAPPING. " DC.B " ARE YOU READY? HAVE YOU GOT A PEN AND PAPER? " DC.B "RIGHT HERE IT IS, WRITE TO;- DR.SYNE, " DC.B "BLACKPOOL, LANCS., " DC.B "UK. ..... SORRY BUT I HAD TO DELETE THE ADDRESS AT THE LAST " DC.B "MINUTE AS WE ARE PRESENTLY ENQUIRING ABOUT A P.O. BOX AND F.A.S.T. " DC.B "HAVE JUST BUSTED SEVERAL OF OUR SUPPLIERS WHO PASS GAMES " DC.B "TO OUR AREA, WE IN TURN PASS THEM OUT THEN DELETE OUR COPIES AS WE " DC.B "ARE ONLY INTERESTED IN DEMOS AND NOT PIRATED SOFTWARE - OK. " DC.B "WHEN WE GET OUR P.O. BOX WE WILL FOLLOW STRICK RULES, THEY ARE " DC.B "AS FOLLOWS.... WE WILL ONLY RETURN DISCS AND NOT SUPPLY THEM SO " DC.B "DON'T FORGET TO INCLUDE " DC.B "YOUR OWN DISCS AND POSTAGE (EITHER IN POSTAL STAMPS OR " DC.B "POSTAL ORDERS/INTERNATIONAL REPLY COUPONS). IF YOU JUST " DC.B "WISH TO CONTACT A CERTAIN MEMBER OF P.O.V. THEN WRITE TO THE SAME " DC.B "ADDRESS BUT WRITE THE MEMBERS NAME ON THE FRONT OF THE ENVELOPE. " DC.B " DR.SYNE WILL NOT WRITE BACK TO PEOPLE WHO SAY 'PLEASE SEND " DC.B "ALL YOUR DISCS' OR 'PLEASE SEND YOUR LATEST DISCS'. IF YOU " DC.B "WANT MORE THAN JUST A COUPLE THEN IT WOULD BE WISE TO ARRANGE " dc.b "IT WITH DR. SYNE FIRST. THE SECOND POINT OF 'SEND YOUR LATEST' IS " dc.b "RATHER AMBIGUOUS AS WE HAVE NO IDEA WHAT THE LAST DISC YOU RECEIVED " DC.B "WAS, SO PLEASE SPECIFY THE DISC NUMBER. " DC.B "OK? HAVE YOU GOT IT? YES? " DC.B "WELL READ THE NEXT BIT... WE WILL N O T REPLY TO " DC.B "PEOPLE WHO ARE INTERESTED IN JUST SWAPPING CRACKED SOFTWARE. " DC.B " THE MAIN REASON FOR THE ADDRESS IS TO AID DISTRIBUTION " DC.B "AND FOR OTHER PEOPLE TO SEND THEIR DEMOS TO US FOR PACKING. " DC.B " RIGHT I'M GLAD I PUT THAT BIT IN 'COS WE MIGHT GET " DC.B "LOADS OF DEMOS TO PACK! AND NOW FOR A PLEA.... RECENTLY " DC.B "I HAVE RECEIVED A LARGE AMOUNT OF DISCS WITH THE GHOST VIRUS " DC.B "ON, WILL YOU ALL PLEASE CHECK YOUR DISCS BEFORE SENDING THEM " DC.B "OFF TO OTHER PEOPLE, IT'S OKAY IF YOU KILL YOUR OWN SOFTWARE " DC.B "BUT OTHER PEOPLE MAY HAVE HARD DISCS CONTAINING 40 MEG OF " DC.B "SOFTWARE OR MORE. WHENEVER I RECEIVE DISCS I USUALLY PUT THEM " DC.B "THROUGH AVK 3.9 BUT THERE ARE ALWAYS A COUPLE THAT GET THROUGH " DC.B "AND OVER THE LAST WEEK I FOUND 2 GHOST VIRUS INFECTED DISCS " DC.B "FLOATING AROUND MY DESK LOOKING FOR A HOME, ANYWAY THE UNDERLYING " DC.B "IDEA IS ---- IMMUNIZE ALL YOUR DISCS AND ZAP THOSE VIRII! " dc.b " IT'S NOW MID NOVEMBER 1990 AND IT'LL SOON BE CHRISTMAS AND " DC.B "NEW YEAR, LET'S HOPE SOME GROUPS DO NEW YEAR DEMOS. I " DC.B "SUGGESTED TO BORIS THAT WE SHOULD CODE A SMALL MEGADEMO WITH " DC.B "ABOUT 4 SCREENS BUT IT NEVER TOOK OFF. WHEN I GET ROUND TO IT " DC.B "I'LL CODE UP A COUPLE OF IDEA I HAVE, I'VE ACTUALLY STARTED " DC.B "DOING ONE SCREEN FOR THE P.O.V. MEGADEMO BUT PREFER TO PRESS " DC.B "ON WITH THESE PACKED DEMO DISCS, MAYBE WHEN I REACH THE 50 MARK " DC.B "I'LL STOP FOR A WHILE - WHO KNOWS! " DC.B "I HAVE 14 DEMOS PACKED AND WAITING FOR A MENU, THERE ARE 8 " DC.B "1 MEG DEMOS AND 6 1/2 MEG DEMOS, THE 1 MEG ONES TAKE NEARLY " DC.B "ALL THE DISC SPACE SO I MAY PUT SOME 'INTROS' ON THE DISCS " DC.B "TO FILL THEM UP OR MAYBE EVEN WRITE A FILLER DEMO. " DC.B "I SHOULD BE ABLE TO PUT TWO 1 MEG DEMOS ON ONE DISC FOR " DC.B "ALL YOU 1040 PEOPLE. IF YOU HAVN'T GOT 1 MEG THEN " DC.B "GET ONE 'COS THERE ARE A LOT OF DEMOS COMING UP THAT NEED " DC.B "ONE MEG, IF YOU'VE GOT A 520 STE THEN AN UPGRADE IS DEAD EASY " DC.B "AS IT ONLY TAKES 2 256K SIMMS TO DO THE JOB, THEY COST " DC.B "ABOUT 40 POUNDS AND CAN BE FITTED IN APPROX 6 MINUTES. I " DC.B "UPGRADED MY 1040 STE TO A 4096 (4 MEG) BACK IN APRIL 1990 AND " DC.B "IT TOOK ME ABOUT 6 MINUTES TO RIP THE CASE OPEN AND SLOT THE " DC.B "BOARDS IN. IF YOU HAVN'T GOT AN STE THEN BUY A FRONTIER " DC.B "UPGRADE AS THESE ARE EASY TO FIT (BORIS BOUGHT ONE). " DC.B " LOOKING ON THE HORIZON ON DEMOS I'VE RECEIVED SOME " DC.B "MORE STE ONLY STUFF INCLUDING THE STE JUNGLE DEMO AND WORLD " DC.B "BEAT SO THEY SHOULD BE SEEN SOON. MOST OF THE STE DEMOS WILL " DC.B "NOT RUN FROM THE AUTO FOLDER SO BORIS HAS WRITTEN AN AUTOGEM " DC.B "PROGRAM THAT WORKS ON ANY ST/STE SO WE SHOULD BE ABLE TO " DC.B "GET THOSE LITTLE NASTY COMPILED CRAP DEMOS ONTO A MENU (EG " DC.B "GRUSEL). I PACKED GRUSEL BUT WHEN IT RAN FROM THE AUTO FOLDER " DC.B "ONE OF THE COLOURS WOULD NOT DEFINE TO THE CORRECT COLOUR " DC.B "WHICH MEANT THE COFFING WAS GLOWING WHITE! " DC.B "WELL I'VE NEARLY RUN OUT OF THINGS TO WRITE SO I'LL DO A QUICK " DC.B "WORD ABOUT THE SPECTRUM ANALYSER...... AFTER SEEING ONE ON THE " DC.B "AMIGA I THOUGHT I'D HAVE A GO, I KEPT SAYING I'LL DO IT " DC.B "TOMORROW AND SUDDENLY AUTOMATION WROTE ONE - DAMN IT. " DC.B " I STARTED THIS INFO PROGRAM AND INTENDED TO WRITE A STAR " DC.B "FIELD FOR THE TOP BUT RAN INTO PROBLEMS WITH THE AMOUNT OF " DC.B "CPU TIME IT WAS TAKING SO I WROTE THE SPECTRUM ANALYSER " DC.B "BETWEEN 12 AND 3 AM ON 16-11-90, IT'S STILL IN A VERY " DC.B "EXPERIMENTAL STAGE AT THE MOMENT AS IT IS PRETTY HARD " DC.B "TO GET A BALANCE BETWEEN OCTAVES AND NOTE VALUES FOR " DC.B "THE DISPLAY. THE SOUND CHIP HAS 15 DIFFERENT VALUES FOR " DC.B "THE OCTAVES AND 256 DIFFERENT VALUES FOR THE NOTES, WHEN " DC.B "I GET TIME I'LL STUDY THE NOTE MAJORS AND WRITE A ROUTINE " DC.B "TO CHOP ANY OTHERS, THE OCTAVES ARE PRETTY EASY EXCEPT THERE " DC.B "ARE NOT ENOUGH PIXELS ON THE SCREEN FOR A FULL OCTAVE SET IN " DC.B "LOW REZ SO I CHOP THE OCTAVES IN HALF WHICH MEANS THE NOTE " DC.B "VALUES HAVE 1/2 THE ROOM AS I'D LIKE. IF YOU CAN UNDERSTAND " DC.B "WHAT I'M ON ABOUT THEN YOU MUST BE GOOD 'COS I CAN'T!!!!! " DC.B "BASICALLY I'M TRYING TO SAY THAT I COULD WRITE A SHIT HOT ONE " DC.B "FOR MEDIUM REZ! OKAY FANS THAT'S IT FOR NOW SO I'LL SIGN " DC.B "OFF, UNTIL NEXT TIME BYE... " DC.B "P.S. I LIED ABOUT THE HIDDEN SCREEN!!!! " DC.B " " dc.b "PERSISTENCE OF VISION INFO 40. " DC.B "ALL CODING, ART AND MUS ARE YOU STILL HERE? " DC.B "WHY? THERE IS NO MORE TEXT THAT WILL BE OF " DC.B "ANY INTEREST. " DC.B "FOR GODS SAKE PRESS THE ESCAPE KEY! " DC.B "WOT NO GREETS?????????? " DC.B "PEA GREETS MOVE.W #9,-(SP) TRAP #1 ADDQ.L #6,SP " DC.B " GREETINGS TO.... DIRTY TRICKS BRIGADE, GEORGE C., " DC.B "SEWER SOFTWARE, DROMSKI, AUTOMATION, V8, BASHER, " DC.B "ERIK PLANKTON, MARTIAN, DR.SYNE, ROGER MELLEY, " DC.B "BIFFA BACON, FAT SLAGS, DYNAMIC DUO, CONPUTER VISIONS, " DC.B "POMPEY PIRATES, MEDWAY BOYS, LOST BOYS, REPLICANTS AND " DC.B "ANYBODY ELSO WHO HAS HAD DEALING WITH US. BYE (FOR REAL)." DC.B " 5 4 3 2 1 " dc.b $ff even char_offset dc.w 0 font: dcb.b 120,0 incbin was274.fnt font_offsets: dc.b 0,41,43,0,0,0,0,46,44,45,0,0,38,42,39,48 dc.b 27,28,29,30,31,32,33,34,35,36,40,0,0,0,0,47,0 dc.b 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26 dc.b 41,0,42,0,0 even sine_position dc.l sine_table sine_table incbin cosine.dat dc.b $ff even ************************************************************* tune: incbin 121.img ************** isr bits ************** old120: dc.l 0 old118: dc.l 0 old70: dc.l 0 a09: dc.b 0 a07: dc.b 0 a13: dc.b 0 old484 dc.b 0 even vsync_flag: dc.w 1 isr_data: dc.l msd_pal msd_pal dc.w $800,$100,$900,$200,$a00,$300,$b00,$400 dc.w $c00,$500,$d00,$600,$e00,$700,$f00,$f80 dc.w $f10,$f90,$f20,$fa0,$f30,$fb0,$f40,$fc0 dc.w $f50,$fd0,$f60,$fe0,$f70,$ff0,$7f0,$ef0 dc.w $6f0,$df0,$5f0,$cf0,$4f0,$bf0,$3f0,$af0 dc.w $2f0,$9f0,$1f0,$8f0,$0f0,$0f1,$0f2,$0f3 dc.w $0f4,$0f5,$0f6,$0f7,$077,$067,$057,$047 dc.w $037,$027,$017,$007,$107,$000 dc.w 0,0 dc.w $100,$200,$300,$400,$500,$600,$700 dc.w $710,$720,$730,$740,$750,$760,$770 dc.w $671,$572,$473,$374,$275,$176,$077 dc.w $067,$057,$047,$037,$027,$017,$007 dc.w $107,$207,$307,$407,$507,$607,$707 dc.w $706,$705,$704,$703,$702,$701,$700 dc.w $500 end_pal dc.w 0,0,0,0 even **************** show disc contents *************** disc_number dc.w 0 disc_enable dc.w 0 xpos dc.w 0 ypos dc.w 0 byte_offset dc.w 0 tab_offset dc.w 0 is_clear dc.w $ffff line_add dc.l 0 lines_to_clear dc.w 0 minifont incbin font.dat disc_text_pos dc.l disc_text disc_text real incbin disc_txt.s dc.b $ff even disc_start_table ds.l 50 ************** spec ********** spec_pos dc.l 0 spec_values dcb.b 200,0 even ************** SHIFTY THING (COLOUR CYCLE) ************* colours_pos dc.l colours colours dc.w $222,0,0,0 dc.w 0,0,0,$222 dc.w 0,0,$222,0 dc.w 0,$222,0,0 dc.w $ffff,$ffff col3 dc.w 0 col7 dc.w 0 col11 dc.w 0 col15 dc.w 0 pic: incbin info40.pi1