home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
No Fragments Archive 4: The Falcon Archive
/
nf_archive_four_v1.0.iso
/
ARCHIVE
/
WORK
/
MSX
/
MEGPL116.ZIP
/
MGPL-116
/
AMIGA
/
USEDSPIT.S
< prev
next >
Wrap
Text File
|
1995-08-25
|
6KB
|
230 lines
***********************************************************************
*********** ***********
*********** ***********
*********** DSP Julia Fractal Set ***********
*********** under DSP interrupt SoundTrack ***********
*********** ***********
*********** ***********
*********** By Simplet / FATAL DESIGN ***********
*********** ***********
***********************************************************************
Dep_X equ -4194304 ; -2/4 * 2^23
Dep_Y equ -2621440 ; -1.25/4 * 2^23
Incr equ 26214 ; 2.5/200/4 * 2^23
C_Re equ -1310720 ; -0.625/4 * 2^23
C_Im equ -1310720 ; -0.625/4 * 2^23
OutPut USEDSPIT.TOS
OPT O+,OW-
***********************************************************************
*********** Inits TOS ***********
***********************************************************************
Section TEXT
Start_Up movea.l 4(sp),a5 ; BasePage Adress - Prg
lea.l Stack,sp ; Nouvelle Pile
movea.l 12(a5),a0 ; Text
adda.l 20(a5),a0 ; + Data
adda.l 28(a5),a0 ; + BSS
adda.w #256,a0 ; + BasePage
pea.l (a0) ; Length
pea.l (a5) ; Adress
pea.l $4a0000 ; 0 + Mshrink
trap #1 ; Gemdos
lea.l 12(sp),sp
***********************************************************************
*********** It begins here ***********
***********************************************************************
lea.l Module(pc),a0
lea.l WorkSpace,a1
bsr MGTK_Init_Module_Samples ; Initialise tout le bordel
lea.l Error_Memory(pc),a0
tst.w d0
bmi Error
lea.l Error_DSP(pc),a0
bsr MGTK_Init_DSP
tst.w d0
bmi Error
bsr MGTK_Save_Sound
bsr MGTK_Init_Sound
moveq.l #2,d0 ; 32.78 KHz
bsr MGTK_Set_Replay_Frequency
st MGTK_Restart_Loop ; Loop On
bsr MGTK_Play_Music
lea.l Msg_Rout(pc),a0
bsr Print
move.w #7,-(sp) ; Crawin
trap #1 ; Gemdos
addq.l #2,sp
clr.l -(sp) ; Swap into Supervisor Mode
move.w #$20,-(sp) ; SUPER
trap #1 ; Gemdos
addq.l #6,sp
bsr Save_Video
bsr Init_Falcon_Palette
lea.l Videl_320_200_True,a0
lea.l Adr_Screen1,a1
lea.l Screens,a2
moveq.l #2-1,d0
bsr Init_Video
lea.l DSP_Code(pc),a0
moveq.l #DSP_Size,d0
bsr MGTK_P56_Loader
***********************************************************************
*********** Calcule et Affiche l'Ensemble de Julia ***********
***********************************************************************
Julia_Loop
move.l Adr_Screen1,d0 ; Flipping
move.l Adr_Screen2,Adr_Screen1 ; Ecrans
move.l d0,Adr_Screen2 ; Physique
lsr.w #8,d0 ; /
move.l d0,$ffff8200.w ; Logique
lea.l $ffffa204.w,a6
lea.l $ffffa206.w,a5
lea.l $ffffa202.w,a4
sub.l #3000,Cst_Re
add.l #10500,Cst_Im
Wait_Loop btst.b #1,(a4)
beq.s Wait_Loop
move.l #Dep_X,(a6)
move.l #Dep_Y,(a6)
move.l #Incr,(a6)
move.l Cst_Re(pc),(a6)
move.l Cst_Im(pc),(a6)
movea.l Adr_Screen1,a0
move.w #100-1,d7
Line_Loop move.w #320-1,d6
Pixel_Loop
btst.b #0,(a4)
beq.s Pixel_Loop
move.w (a5),(a0)+
dbra d6,Pixel_Loop
dbra d7,Line_Loop
movea.l a0,a1
move.w #320*100/16-1,d7
Copy_Loop
Rept 16
move.w -(a0),(a1)+
EndR
dbra d7,Copy_Loop
move.w #11,-(sp) ; Cconis
trap #1 ; Gemdos
addq.l #2,sp
tst.b d0
beq Julia_Loop
move.w #7,-(sp) ; Crawin
trap #1 ; Gemdos
addq.l #2,sp
***********************************************************************
*********** It's Finished, Restore All ***********
***********************************************************************
bsr Restore_Video
bsr MGTK_Stop_Music
bsr MGTK_Restore_Sound
Exit clr.w -(sp) ; PTerm
trap #1 ; Gemdos
Error bsr.s Print
move.w #7,-(sp)
trap #1
addq.l #2,sp
clr.w -(sp) ; PTerm
trap #1 ; Gemdos
***********************************************************************
*********** Sub-Routines ***********
***********************************************************************
Print pea.l (a0)
move.w #9,-(sp) ; Cconws
trap #1 ; GemDos
addq.l #6,sp
rts
Section BSS
ds.l 20832/4 ; WorkSpace, Maxi 20832 octets
WorkSpace ds.l 1 ; first of the BSS section
Include 'AMGDSPIT.S'
Include 'VIDEO.S'
***********************************************************************
*********** The Module ***********
***********************************************************************
Section DATA
Cst_Re dc.l C_Re
Cst_Im dc.l C_Im
Msg_Rout dc.b 27,'E'
dc.b "This is just a little example",13,10
dc.b "of DSP Program with a soundtrack",13,10
dc.b "replayed under DSP interrupt..",13,10,10
dc.b "Simplet / FATAL Design 1995",13,10,10
dc.b "Press any key...",13,10,0
Error_DSP dc.b 7,27,'E'
dc.b "Error, the DSP program couldn't be loaded.",13,10
dc.b "Press any key...",0
Error_Memory
dc.b 7,27,'E'
dc.b "Error, the workspace isn't big enough.",13,10
dc.b "Press any key...",0
DSP_Code IncBin 'JULMORPH.P56'
DSP_Size equ (*-DSP_Code)/3
Even
IncDir 'E:\SNDTRACK\DEPACK\'
Module IncBin 'ELEKFUNK.MOD' ; last of the DATA section
***********************************************************************
*********** BSS Section ***********
***********************************************************************
Section BSS
; Adresses Ecrans
Adr_Screen1 ds.l 1
Adr_Screen2 ds.l 1
; Place pour Ecrans
Screens ds.b 2*((320*200*2)+256)
; La Pile
End_Stack ds.l 64
Stack ds.l 1