scene.org File Archive

File download

<root>­/­parties­/­2024­/­outline24­/­demo_oldskool/smfxboot_by_smfx.zip

File size:
363 206 bytes (354.69K)
File date:
2024-05-15 13:01:02
Download count:
all-time: 5

Preview

  • makeboot.tos 1.54K
  • smfxboot.st 800.00K
  • smfxboot.tos 506B
  • smfxboot.txt 10.18K

file_id.diz

                .ooOOOOOOOoo.
              oOOOo       oOOo    oo           .ooOoo.
             oOOo          oo    oOo    o   ooOOo
               oOOo.      oo   .oo O   oo  oOo
                  oOo.        oo  .O  oOo  Oo          .oOo
                     oOOOo.       oo oo  o o. ooo oo  oOo
                          oOOo.   oOo    O  oOo     oo.
                             oOOo.o      oo o.     o  oo.
                           o   oOo        o  o.   oo   oOo
                          oOo. oOo            o.        oOo
                            oOOOo                        o

           ......................................................
           :                                                    :
           :                      smfxboot                      :
           :                                                    :
           :           Released at Outline 2024, May 11         :
           :                                                    :
           :....................................................:
           :                                                    :
           : System:    Atari ST(e), 1 MB RAM                   :
           :                                                    :
           :....................................................:
           :                                                    :
           : Credits:                                           :
           :                                                    :
	       :           exocet                                   :
           :           - palette                                :
           :                                                    :
           :           tom                                      :
           :           - Music (driver inspired by gwEm/PHF)    :
           :                                                    :
           :           spkr                                     :
           :           - Code (inspired by superogue)           :
           :                                                    :
           :  Additional credits:                               :
           :                                                    :
           :           Grazey/PHF                               :
           :           - makeboot code                          :
           :                                                    :
           :....................................................:
eof

; smfxboot.s - source
;
;.init
;   moveq   #32,d4
;   move.w  d4,-(sp)
;   trap    #1        
; 
;.setpalette
;   lea     $ffff8240,a0
;   moveq   #15-1,d6        ; one black for dezignkameel
;   move.w  #$8a,d5         ; index by exocet :)
;.setcol
;       move.w  d5,(a0)+
;       add.w   #$ff80,d5   ; index by exocet ;)
;   dbra    d6,.setcol
;
;.genc2ptab
;  lea     end+c2psource,a0                   
;  move.l  a0,a5                               
;  move.w  #$c0,d0                             
;  moveq   #0,d1                               
;  moveq   #2-1,d7                             
;  move.l  #%00001000010011000010101001101110,d2    ; this is bit encoded c2p tab
;.dopart
;   moveq   #32-1,d6                     
;.lx
;   asl.l   #1,d2                        
;   bcc.s   .fill                        
;       move.b  d0,(a0)+                 
;       jmp     .x                       
;.fill       
;       move.b  d1,(a0)+                  
;.x
;       dbra    d6,.lx                    
;  move.l  #%00011001010111010011101101111111,d2   ;this is 2nd part of c2p encoded tab
;  dbra    d7,.dopart
;
;.gentexture_c2ptabs
;   lea     end+text1,a1                       
;   move.l  #128*256*4,a6
;   lea     (a1,a6.l),a2                       
;   lea     (a2,a6.l),a3                       
;   lea     (a3,a6.l),a4                       
;   moveq   #128-1,d7                          
;   moveq   #%1111,d0                          
;.lyy
;       move.w  #256-1,d6
;.lxx
;       move.w  d6,d5                               ; use counter for texture generation
;       or.w    d7,d5                               ; use counter for texture generation
;       and.w   d0,d5                               ; normalize texture value
;       asl.w   #2,d5                      
;       move.l  (a5,d5.w),d1                        ; c2p tab val
;       move.l  d1,(a1)+                            ; tab1
;       lsr.l   #2,d1                      
;       move.l  d1,(a2)+                            ; tab2
;       lsr.l   #2,d1                      
;       move.l  d1,(a3)+                            ; tab3
;       lsr.l   #2,d1                      
;       move.l  d1,(a4)+                            ; tab4
;   dbra    d6,.lxx                        
;   dbra    d7,.lyy  
;
;.genOffsetmap
;   lea     end+offsmap,a4
;   move.l  a4,a5                           
;   moveq   #%1111111,d0
;   moveq   #100-1,d7                               ; 100 height
;.ol 
;   move.l  d7,d5           
;   sub.w   #50,d5                                  ; dy
;   move.l  d5,a2                                   ; save for hole
;   move.l  d5,d2
;   swap    d2              
;   asr.l   #5,d2
;   muls    d5,d5           ; dy^2
;   move.w  #160-1,d6                               ; 160 width
;.il
;       move.l  d6,d4
;       sub.w   #80,d4                              ; dx
;.d4pos
;       move.l  d4,d3
;       muls    d4,d4                               ; dx^2
;       add.l   d5,d4                               ; dx^2 + dy^2
;       cmp.w   #340,d4
;       bge.s   .nohole
;.hole
;           move.l  a2,d1       ;dy
;           muls    d4,d1       ;dy*r
;           asr.l   #8,d1
;           muls    d4,d3
;           asr.l   #8,d3
;           and.w   d0,d3           
;           bra.s   .go
;.nohole
;       swap    d3
;       asr.l   #6,d3
;       divs    d4,d3           ;
;       and.w   d0,d3   ; % 128
;       move.l  d2,d1               ;
;       divs    d4,d1   
;.go
;       and.w   d0,d1
;       asl.w   #7,d1
;       add.w   d1,d3
;       lsl.w   #2,d3
;       move.w  d3,(a4)+
;       dbra    d6,.il
;   dbra    d7,.ol
;
;.genc2pEffectCode
;   movem.l code,d0-d4                             ; code size: 5*4 = 20 
;   move.l  d4,d5                                   ; 160 off
;   move.w  d4,a2                                   ; 160 plain
;   sub.w   d4,d4                                   ; d4 is off 0
;   move.w  d0,d7                                   ; d0 contains 100-1
;.yy
;       moveq   #20-1,d6
;.xx
;       move.w  (a5)+,d0        
;       move.w  (a5)+,d1        
;       move.w  (a5)+,d2        
;       move.w  (a5)+,d3        
;       movem.l d0-d5,(a0)  
;       addq.w  #1,d4       
;       addq.w  #1,d5       
;       move.w  (a5)+,d0        
;       move.w  (a5)+,d1        
;       move.w  (a5)+,d2        
;       move.w  (a5)+,d3        
;       movem.l d0-d5,6*4(a0)   
;       addq.w  #7,d4       
;       addq.w  #7,d5       
;       lea     6*4*2(a0),a0
;   dbra    d6,.xx
;       add.w   a2,d4
;       add.w   a2,d5
;   dbra    d7,.yy
;   move.w  #$4EF9,(a0)+            ; jmp.l
;   lea     frame(pc),a5
;   move.l  a5,(a0)
;   move.l  $44e,a0             ; we do this to keep screen
;   addq.w  #2,a5          
;
;.ymbits
;       move.w  #%0101000100010001,d1
;frame
;   move.w  #0,d0                                   ; for smc
;nx  add.w   #256*2+4,(a5)
;    and.w   #%11111111111100,d0
;.spacecheck
;    cmp.b   #57,$fffffc02.w                        ; break key to drop to desktop, required for bootsector rules
;    bne     .nospace
;    rts
;.nospace
;
;.ymdriver
;       lea msx(pc),a3                              ; YM data structure
;       lea $ffff8800.w,a1                          ; YM base address
;       moveq   #3,d3                               ;
;       andi.w  #15,d4
;       bne.s   .fiftyhz                            ; not time for new pattern position yet
;       addq.w  #1,d6
;       move.w  d6,d2
;       lsr.w   #2,d2
;       andi.w  #15,d2          
;       move.b  10(a3,d2.w),1(a3)                   ; grab from note table (.notes) 
;       move.w  #%0000011111111111,d4               ; reset d4 mixer - so writes to YM #7.  initially everything off
;       ror.w   d1
;       bcc.s   .nokick
;           eor.w   d3,d4                           ; enable all squarewaves
;.nokick:            
;.fiftyhz:       
;           addq.b  #1,d4                           ; increment speed counter
;           move.b  d4,3(a3)                        ; set kick drum frequency
;.setuploop:     
;           move.w  (a3)+,d3                        ; get new YM register value
;           movep.w d3,(a1)                         ; put new register onto YM
;           bne.s   .setuploop
;       movep.w d4,(a1)
;
;.runEffect
;   lea     end+text1+256*128,a1                            ;6
;   add.w   d0,a1
;   lea     (a1,a6.l),a2
;   lea     (a2,a6.l),a3
;   lea     (a3,a6.l),a4
;   jmp     end+theEffect
;msx
;.commands
;        dc.w    $0400           ; channel C freq
;        dc.w    $0300           ; channel B freq
;        dc.w    $0201           ; channel B freq
;        dc.w    $0A0F           ; channel C volume
;        dc.w    $090E           ; channel B volume
;        dc.w    $0000           ; gross null terminate
;.notes
;        dc.b    253
;        dc.b    159
;        dc.b    80
;        dc.b    169
;        dc.b    134
;        dc.b    142
;        dc.b    190
;        dc.b    213
;ymdataend:
;code
;   dc.l    $20290000+100-1     ;move.l     1234(a1),d0     ;d0     ;4
;   dc.l    $80AA0000           ;move.l     1234(a2),d0     ;d1     ;4
;   dc.l    $80AB0000           ;move.l     1234(a3),d0     ;d1     ;4
;   dc.l    $80AC0000           ;move.l     1234(a4),d0     ;d1     ;4
;   dc.l    $01C80000+160       ;movep.l    d0,1234(a0)     ;d4     ;4
;end
;    rsreset
;            rs.b    $10000
;c2psource   rs.b    64
;theEffect   rs.b    100*20*48+10                        ;96010
;offsmap     rs.b    100*160*2
;text1       rs.b    128*256*4
;text2       rs.b    128*256*4
;text3       rs.b    128*256*4
;text4       rs.b    128*256*4