AMIGA ASSEMBLER
Retro bilgisayarSelam!!! Artık komutları bitirdiğimize göre, bu köşeye biraz fazla yer ayıracağım; zira komutlar için bu köşeye üç aydır devam edemiyorduk. Bu ay bu kadar beklediğiniz için ufak bir intro source'u veriyorum. İntroyu doğru olarak çalıştırmak için, diskete bir de BNXTXT isimli bir file yerleştirmeniz gerekmekte. Bu file, intro'daki scroll text'i içerecek olan file olacaktır. Bu file'daki bütün karakterler büyük olarak yazılmalı. File'ın sonuna da biraz boşluk (yaklaşık 20-30 karakterlik) koyduktan sonra ufak <a> harfini ekleyin. Bu sayede scroll text basma rutini, yazının sonuna ulaşıldığını anlayarak scrollun tekrar ilk karakterden başlamasını sağlar. Scroll text dosyası içinde anlaşılamayan (font datalarında bulunmayan) bir karaktere rastlanıldığında, bu karakter otomatik olarak atlanılacaktır. Şayet scroll text dosyası aktif directory'de (genelde ana directory) bulunamazsa, program size ses sinyali verecek ve scroll text yerine bir uyarı mesajı ile karşılaşacaksınız. Bu uyarı mesajı da ErrorText label'ından sonra bulunmakta. Gelecek ay, bu introyu hep beraber detaylı bir şekilde inceleyeceğiz. İntro'nun doğru olarak çalışabilmesini sağlamak için üç file'a ihtiyacımız var. Fakat üç file'dan biri olan font datalarını ben programın sonuna satırları olarak ekledim. Font dataları 496 byte uzunluğunda olduğundan, bu pek sorun çıkarmaz umarım. Merak edenlere belirteyim, fontlar 8x8 boyutlarında IFF olarak hazırlanmış. Gelecek ay scroll ve karakter algılama rutinlerini incelerken bu konuya daha detaylı değineceğim. Kalan iki data file'ından ilki, gösterilecek olan logo'muz; bunu DPaint ile 160x140 boyutlarında tek bitplane olarak hazırladıktan sonra bir IFF converter (IFF Master yine de en iyisi!) programıyla bitmap haline çevirmemiz gerekmekte. Çevrim sırasında resmin sadece 160x100'lük alanını çerçeveleyip almanız çok önemlidir. Bu yaratılan yeni file ismine de logo.bm adını verelim. Gereksinim duyduğumuz ikinci dosyanın adı da mod.astaroth; bu da Astaroth oyunundan aldığımız bir müzik. Bunun yerine Future Composer ile hazırlanmış herhangi bir parça (modül olarak!) da kullanabiliriz. Müzik istemiyorsanız, programın 'bsr Init Music', 'bsr Play' ve End altrutinindeki bsr komut satırlarını kaldırmanız (ya da başına ';' işareti koymanız) yeterli. Bu şekilde programınızın, müzikle ilgili rutinlere hiçbir şekilde dallanmamasını sağlayabilirsiniz. İsteyenler programın sonuna eklemiş olduğum müzikle ilgili rutinleri de silebilirler. Bu şekilde source'unuz kısalabilir. Fakat bunun da pek önemli olacağını sanmam. Programın en sonundaki incbin satırları yardımıyla, bahsettiğim bu iki data file'ı assemble edilen programın sonuna eklenecektir. Bu kadar tiyo şimdilik yeter, programın çalışmasını (özellikle scroll ile ilgili rutinleri) iyice inceleyip çözmeniz için bir ay vaktiniz var. Çözemeyenlere gelecek ay bütün source'u kısaca açıklayacağım. Hadi şimdilik hoşçakalın...
org $60000
load $60000
(0) movem.l a0-a6/d0-d7,-(a7)
bsr.w Init Music
InitVars
bsr.W Clear
bsr.b LoadText
Init
move.l — #2,d7
: bsr.W Acilmaca
Loopl cmp.b — #0,$dff006
bne.b Loopl bsr.W Scroller
bsr.w Play
btst #6,$bfe001
bne.s Loopi
bra.W End
LoadText move.l 4,a6
lea Dosname,al
İsr -408(a6)
move.l — d0,a6
move.l — #1005,d2
move.l —
İST -30(a6)
tst.l dO
beg.b CannotOpen
move.l — d0,FileHeader
move.l —
move.l — #$7a000,d2
move.l
jsr -42(a6)
move.l —
İsr -36(a6)
move.l * a6,al
move.l —
İsr -414(a6)
BackOpen bset #3,$bfd100
nop
nop
bset #7,$bfd100
nop
nop
belr #3,$bfd100
rts
Cem GENCER
CannotOpen
move.l — #$7a000,a0
move.l — #ErrorText,al
move.l — #|ErrorEnd-ErrorText-1)1,d7
Copytext move.b (a1)4,(a0)4-
dbf d7,copytext
lea ErrorText,al
move.l — #1,d7
TonUret bsr.w ErrorTone
dbf d7,TonUret
bra.b BackOpen
move.w #0,RXİ
move.w #0,RI
move.w #0,R2
move.w #0,R3
move.w #0,Rİ1
move.w #0,R12
move.w #0,R13
move.w #$1807,CI
move.w #$1907,C2
move.w #$la07,C3
move.w #$1b07,C4
move.w #$9007,CI11
move.w #$9107,C12
move.w
move.w #$9307,CI14
move.w #$0ff0,ScrollRengi
Tts
Errortone
move.w
move.l — #Wave,$dff0a0
move.w
move.w #$3f,$dff0a8
move.w #$8201,$dff096
move.l — #Ton,a0
Tonp move.w #$8000,d1
Pau
dbf d1,Pau
move (a0)4,$dff0a6
beg.b EndT
bra.b TonP
EndT move #$01,$dff096
Tts
Ton dc.w 440,1200,850,1088,0
even
Wave dc.b 127,-127
Acilmaca cmp.b #$ff,$dff006
bne.s Acilmaca
add.w #$0300,R1
add.w — #$0300,RI1
add.w — #$O111,R2
add.w — #$0111,Rİ2
add.w — #$0300,R3
add.w — #$0300,R13
move.l — #$İfff,d6
Beklel dbf d6,Beklel
dbf d7,Acilmaca
move.l — #5,d7
cmp.b
bne.s
sub.w
sub.w
add.w
add.w
move.İl
Hove
Kx6 movel
Bekle2 dbf
dbf
Accc
move.l
cmp.b
bne.s
sub.w
sub.w
add.w
add.w
move.l
KxB f
Bekle22 dbf
dbf
RenkAc cmp.b
move.l
move.l
move.l
move.l
move.l
move.l
move.l
move.l
bsr.W
move.l
KXI OF
bne.s
add.w
move.l
HizAz abyel
move.l
Seroller cmp.l
ne.s
cmp.l
beg.s
bne.w
Basma bsr.W
Bas
move.l
Kayma rts
Kapanmaca
KXI
mOvel
KX4
move.l
cmp.b
bne.s
sub.w
cc
#$0100,CI
#$0100,C2
#$0100,C3
#$0100,C4
#$5TEf,d6
d6,Bekle2
d7,Acc
#80,d7
#S$İf,SAfFfOOG
Accc
#$0100,C11
#$0100,C12
#$0100,C13
#$0100,C14
#$1fff,d6
d6,Bekle22
d7,Accc
#LBitMap,a0
#DBitMap,al
#0,Sx
#0,Sy
#90,Dx
#40,Dy
#160,Nx
#140,Ny
Copy
#4,d7
RenkAc
#$0030,RX1
#S$8ffEf,d6
d6,HizAz
d7,RenkAc
#$ff,ScrollOnOff
#$ff,ScrollOnOff
Kayma
#4,ScrollFlag
Bas
Basma
SerollDatas
Scroll
#1,ScrollFlag
ScrollDatas
Scroll
Decode
CocoliFaS
#10,d7
KXI
#$0110,ScrollRengi
d6,KX2
d7,KXI
#3,d7
KX3
#$0030,RX1
#STEf,d6
d6,KX4
d7,KX3
Clear
#SEF,SAffOOG
KX5
KX6
KX7
KX9
KX10
KXI12
Init
move.l
move.l
move.l
move.l
lea
move.l
move.l
move.l
jsr
lea
#$0100,C11
#$0100,C12
#$0100,C13
#$0100,C14
#$1fff,d6
d6,KX6
d7,KX5
#5,d7
KX7
#$0100,CI
#$0100,C2
#$0100,C3
#$0100,C4
#$5fff,d6
d6,KX8
d7,KX7
#S3ffff,d6
d6,KX9
#2,d7
KK10
#$0300,R1
#$0300,R11
#$0111,R2
#$0300,R3
#$0300,R13
d6,KX11
d7,KX10
d6,KX12
Xxx
onoff
$dffOa6
$dffOb6
$dff0Oc6
$dffOd6
$dffOa8
$AffOb8
$dff0c8
$dffOd8
#$f,$dff096
#1,$bfe00l
Kapanmaca
GfxBase,a6
SysCop,50(a6)
4,a6
-138(a6)
-414(a6)
(a7)4,a0-a6/d0-d7
4,a6
-132(a6)
GfxName,al
-408(a6)
d0,a6
d0,GfxBase
50(a6),SysCop
#Copper,50(a6)
SBitMap,a0
#1,d0
#496,d1
#8,d2
-390(a6)
-198(a6)
SatirSonu
move.l
rts
add.l
Decode lea
lea
move.l
move.b
cmp.b
beg.b
cmp.b
bne.b
move.l
bra.b
Devam sub.b
Copy
Scroll
mulu
move.l
move.l
lea
lea
move.l
move.l
move.l
move.l
add.l
TİS
move.l
move.l
move.l
move.l
move.l
move.l
move.l
move.l
move.l
move.l
jsr
rts
cmp.b
bne.s
move.l
move.l
move.l
move.l
move.l
move.l
move.l
move.l
#SBitMap,SRast44
SBitMap,a0
#Buffer,8(a0)
LBitMap,a0
0
#160,d1
#140,d2
-390(a6)
LRast,al
-198(a6)
#LBitMap,LRast44
LBitMap,a0
#LBuffer,8(a0)
#LBuffer4(20*140),12(a
DBitMap,a0
#1,d0
#360,d1
#256,d2
-390(a6)
DRast,al
-198(a6)
#DBitMap,DRast44
DBitMap,a0
#$70000,8(a0)
#1,ScrollTextPointer
ScrollTextPointer,a0
Tablo,al
(a0),a0
(a0),d0
#$0a,d0
satirsonu
#"a",d0
devam
#$7a000,ScrollTextPoint
Decode
#$20,d0
#8,d0
O(al,d0),Sx
4(al,d0),Sy
SBitMap,a0
DBitMap,al
#350,Dx
#240,Dy
#8,Ny
#1,ScrollTextPointer
GfxBase,a6
Sx,d0
Sy,d1
Dx,d2
Dy,d3
Nx,d4
Ny,d5
#$c0,d6
#255,d7
#0,a2
-30(a6)
#0,$dff006
Scroll
GfxBase,a6
#DRast,al
DeltaX,d0
FirstX,d2
FirstY,d3
SecondX,d4
SecondY,d5
(a0)
inter
-396(a6)
Tts
ScrollDatas
move.l — #2,DeltaX
move.l — #0,DeltaY
move.l — #0,FirstX
move.l — #230,FirstY
move.l — #360,SecondX
move.l — #250,SecondY
Tts
Clear lea $70000,a0
move.l — #$1400,d7
CLS (A0)4
dbf d7,CLS
TİS
; Amiga FUTURE COMPOSER V1.0 /
1.2/1.3 Replay routine
Init Music
move.w #l,onoff
bset #1,$bfe00l
lea Module,a0
lea 100(a0),al
move.l — al,SegPoint
move.l — a0,al
add.l 8(a0),al
move.l — al,PatPoint
move.l a0,al
add.l 16(a0),al
move.l — al,FrgPoint
move.l — a0,al
add.l 24(a0),al
move.l — al,VolPoint
move.l — 4(a0),d0
divu #13,d0
lea 40(a0),al
lea SoundInfo--4(pc),a2
moveg
InitLoop move.w
move.l — (al)4,(a2)4
addg.w
dbf di ,İnitLoop
moveg ,d2
move.l — a0,di
add.l 32(a0),d1
sub.l #WaveForms,d1
lea SoundInfo(pc),a0
move.l — d1,(a0)4
moveg — #9-1,d3
InitLoopl move.w (a0),d2
d2,d1
add.l d2,d1
addg.w #6,a0
move.l —
dbf d3,InitLoop1
move.l — SegPoint(pc),a0
moveg ,d2
move.b — 12(a0),d2
bne.s SpeedOk
move.b — #3,d2
SpeedOk move.w d2,RespCnt
move.w d2,RepSpd
Init2 clr.w AudTemp
move.w
move.w #$0780,$dff09a
moveg — #0,d7
mulu #13,d0
moveg — #4-1,d6
lea V1Data(pc),a0
lea Silent(pc),al
lea o4a0c8(pc),a2
TnitLoop2 move.l a1,10(a0)
move.l — al,18(a0)
14(a0)
45(a0)
clr.b 47(a0)
8(a0)
48(a0)
dovel
25(a0)
26(a0)
clr.w 30(a0)
moveg — #0,d3
move.w
move.w
divu #3,d3
move.b — d3,32(a0)
mulu 3,d3
andi.l #$ff,d3
andi.l #$ff,dI
addi.l #$dff0a0,d1
move.l — dl1,a6
move.l — #0,(a6)
move.w #$100,4(a6)
move.w #0,6(a6)
move.w #0,8(a6)
move.l — d1,60(a0)
64(a0)
move.l — SegPoint(pc),(a0)
move.l — SegPoint(pc),52(a0)
add.l d0,52(a0)
add.l d3,52(a0)
add.l d7,(a0)
d3,(a0)
move.w #$d,6(a0)
move.l (a0),a3
move.b (a3),di
andi.l #$ff,dI
#6,d1
move.l — PatPoint(pc),a4
adda.w dl,a4
move.l — a4,34(a0)
38(a0)
move.b — #1,33(a0))
move.b — #2,42(a0)
1(a3),44(a0)
move.b — 2(a3),22(a0)
clr.b 43(a0)
cir.b 45(a0)
56(a0)
adda.w — #$4a,a0
dbf d6,InitLoop2
Tt:
Ss
Play PerVol(pc),a6
tst.w OnOff
bne.s Music On
BackToLife
Tits
Music On subg.w #1,RespCnt
bne.s NoNewNote
move.w RepSpd(pc),RespCnt
lea VI Data(pc),a0
bsr.W New Note
lea V2Data(pc),a0
bsr.W New Note
lea V3Data(pc),a0
bsr.W . New Note
lea V4Data(pc),a0
bsr.W New Note
NoNewNote AudTemp
lea V1Data(pc),a0
bsr.W Effects
move.w d0,(a6)4-
move.w d1,(a6)4
lea V2Data(pc),a0
bsr.W Effects
move.w d0,(a6)-4-
move.w d1,(a6)4
lea V3Data(pc),a0
Effects
move.w d0,(a6)-4-
move.w
lea V4Data(pc),a0
bsr.W Effects
move.w d0,(a6)4-
möve.w
lea PerVol(pc),a6
move.w AudTemp(pc),d0
Ori.w
move.w d0,-(a7)
moveg
move.l Startl(pc),d2
move.w
add.l di,d2
move.l — Start2(pc),d3
move.w
add.l 1,d3
move.l Start3(pc),d4
move.w Offset3(pc),di
add.l 1;
move.l Start4(pc),d5
move.w Offset4(pc),dI
add.l d1,d5
move.w SSizel(pc),d0
move.w SSize2(pc),dl
move.w SSize3(pc),d6
move.w SSize4(pc),d7
move.w (a7)4,$dff096
Chani lea — VIData(pc),a0
tst.w 72(a0)
beg.b Chan2
subg.w — #1,72(a0)
cmpi.w #1,72(a0)
bne.s Chan2
clr.w 72(a0)
move.l — d2,$dffOa0
move.w d0,$dff0a4
Chan2 lea V2Data(pc),a0
tst.w 72(a0)
beg.s Chan3
subg.w — #1,72(a0)
cmpi.w #1,72(a0)
bne.s Chan3 beg.s NoPort add.w — di,di
72(a0) move.b 2(a1),47(a0) add.w d1,d0
move.l — d3,$dffObO NoPort andi.w adda.w
move.w d1,$dffOb4 beg.B NextNote move.l — 60(a0),a3
Chan3 lea V3Data(pc),a0 move.b — d0,8(a0) move.l (a4),dl
tst.w 72(a0) move.b (a1),9(a0) #WaveForms,d1
beg.s Chan4â move.b — 32(a0),d2 move.l — di, (a3)
subg.w — #1,72(a0) moveg — #0,d3 move.l — di1,68(a0)
cmpi.w #1,72(a0) bset d2,d3 move.w 4(a4),4(a3)
bne.s Chan4 or.w d3,AudTemp move.l — 6(a4),64(a0)
elr.w 72(a0) move.w d3,$dff096 swap di
move.l — d4,$dff0c0 move.b move.w #3,72(a0) tst.w di
move.w d6,$dff0c4 andi.w #$3f,dl bne.s 049052
Chan4 lea V4Data(pc),a0 add.b 22(a0),d1 move.w
tst.w 72(a0) move.l — VolPoint(pc),a2 049c52 clr.w 16(a0)
beg.s SetPerVol move.b — #1,23(a0)
subg.w — #1,72(a0) adda.w addg.w — #2,50(a0)
empi.w #1,72(a0) move.w d5,16(a0) bra.W 049d02
bne.s SetPerVol move.b (a2),23(a0) 049c64 cmpi.b #$e4 (al)
elr.w 72(a0) move.b — (a2)4,24(a0) bne.s TestPatlmp
move.l — d5,$dff0Od0 move.b (a2)4,dl move.b tta
move.w d7,$dff0d4 andi.w — #$ff,di andi.w — #$ff,
SetPerVollea — $dffOa6,a5 move.b (a2)4,27(a0) lea ad
move.w (a6)4,(a5) move.b — #$40,46(a0) add.w d0,d0
move.w (a6)4,2(a5) move.b — (a2)4,d0 move.w
move.w move.b — d0,28(a0) add.w di,di
move.w (a6)4,18(a5) move.b d0,29(a0) add.w
move.w (a6)4,32(a5) move.b — (a2)4,30(a0) add.w di,d0
move.w (a6)4,34(a5) move.l — a2,10(a0) move.l adda.w
move.w (a6)4,48(a5) FrgPoint(pc),a2 move.l — 60(a0),a3
move.w (a6)4,50(a5) İsl.w #6,d1 move.l (a4),di
bra.w BackToLife adda.w dl,a2 add.l #WaveForms,d1
New Note moveg #0,d5 move.l — a2,18(a0) move.l —
move.l — 34(a0),al move.w move.l —
adda.w 40(a0),al move.b — d5,26(a0) move.w 4(a4),4(a3)
cmp.w — #64,40(a0) move.b — d5,25(a0) move.l — 6(a4),64(a0)
bne.B — SamePat NextNote addg.w #2,40(a0) swap di
move.l (a0),a2 Tts move.w #3,72(a0)
adda.w 6(a0),a2 Effects moveg — #0,d7 tst.w di
cmpa.l — 52(a0),a2 TestSustain bne.s 049cae
bne.s NotEnd tst.b 26(a0) move.w
move.w d5,6(a0) beg.s SustZero 049cae addg.w #2,50(a0)
subg.b — #1,26(a0) bra.s 049d02
NotEnd moveg #0,di bra.W VolUfx TestPatlmp
addg.b — #1,SpdTemp SustZero move.l 18(a0),al cmpi.b — #$e7, (al)
cmpi.b — #4,SpdTemp adda.w 50(a0),al bne.s TestNewSustain
bne.s NoNewSpd TestEffects move.b — 1(al),d0
move.b d5,SpdTemp cmpi.b — #$el,(al) andi.w — #$ff,d0
move.b — beg.W VolUfx #6,d0
beg.s NoNewSpd cmpi.b — #$e0,(al) move.l — FrgPoint(pc),al
move.w - d1,RespCnt bne.s TestNewSound adda.w d0,al
move.w d1,RepSpd move.b — 1(al),d0 move.l al,18(a0)
NoNewSpd move.b (a2),di andi.w #$3f,dO move.w d7,50(a0)
move.b — 1(a2),44(a0) move.w d0,50(a0) bra.W TestEffects
move.b — 2(a2),22(a0) move.l — 18(a0),al TestNewSustain
move.w d5,40(a0) adda.w dO,al cmpi.b — #$e8,(al)
#6,d1 bne.s 049cea
PatPoint(pc),d1 cmpi.b — #$e2,(al) move.b — 1(a1),26(a0)
move.l — d1,34(a0) bne.s 049c64 addg.w — #2,50(a0)
addi.w — #$d,6(a0) moveg — #0,d0 bra.W TestSustain
move.l dli,al moveg #0,di 049cea cmpi.b #$e3,(al)
SamePat move.b 1(al),di move.b 32(a0),dI bne.s 049d02
move.b (al)4,d0 bset d1,d0 addg.w #3,50(a0)
bne.s Wwl Or.wW d0,AudTemp move.b — 1(al),27(a0)
andi.w — #9011000000,d1 move.w d0,$dff096 move.b — 2(a1),28(a0)
beg.s NoPort move.b 049d02 move.l 18(a0),al
kay bra.s Wwll andi.w — #$ff, adda.w 50(a0),al
Www move.w d5,56(a0) lea a4 move.b (a1),43(a0)
wll move.b d5,47(a0) add.w — d0,d0 addg.w #1,50(a0)
be (a1),31(a0) VolUfx tstb — 25(a0)
n Dtst add.w — di,di beg.s — 049dle
subg.b — #1,25(a0) move.b — 46(a0),d7
bra.s 9d70 tst.b 30(a0)
049dle subg.b #1,23(a0) beg.s 049d9e
bne.s 049d70 subg.b — #1,30(a0)
move.b — 24(a0),23(a0) bra.s 049df4
049d2a move.l 10(a0),al 049d9e move.b d1,d5
adda.w 16(a0),al move.b — 28(a0),d4
move.b (al),d0 add.b d4,
cmpi.b — #$e8,d0 move.b —
bne.s 049dda ; tst.b d7
addg.w #2,16(a0) bpl.s 049db4
move.b — 1(a1),25(a0) btst #0,d7
bra.s VolUfx bne.s 049dda
049dda cmpi.b #$e1,d0 049db4 bist #5,d7
beg.s 049d70 bne.s 049dc8
cmpi.b — #$e0,d0 — : sub.b 27(a0),di
bne.s 049d68 bec.s 049dd6
move.b — 1(al),d0 bset #5,d7
— #$3f,d0 moveg —
.subg.b — #5,d0 bra.s 049dd6
move.w d0,16(a0) 049dc8 add.b —
bra.s 049d2a cmp.b — dd4,di
049d68 move.b (a1),45(a0) bes.s 049dd6
addg.w #1,16(a0) belr #5,d7
049d70 move.b 43(a0),d0 move.b — dd,dl
bmi.s 049d7e 049dd6 move.b d1,29(a0)
add.b ir 049dda Isr.b #1,d4
add.b sub.b
049d7e andi.w #$007f,dO bec.s — 049ded
Periods(pc),al subi.w — #$100,d1
add.w — d0,d0 049de4 addi.b — #$a0,d5
move.w d0,d1 bes.s 049df2
adda.w d0,al 049dea add.w — di,di
move.w (al),d0 addi.b — #$18,d5
049dea FileName dc.b "BnxTxt",
049df2add.w — d1,d0 ErrorText — dc.b ' DOSYASINI (BNXTXT”')
049dfdeori.b — #1,d7 DISKETTE "
move.b d7,46(a0) dc.b "BULAMADIM. LUTFEN KONTROL EDINIZ |!!
moveg BU INTRO"
move.b — 47(a0),d1 dc.b "79111 TARAFINDAN HAZIRLANMISTIR. FONT
beg.s a56d0 LAR GRAFIK"
cmpi.b — dc.b "CIMIZ TURBO'NUNDUR. MUZIK ISE ASTA
bls.s PortaUp ROTH"
PortaDown dc.b "OYUNUNDAN ALINMISTIR. BRONX ILE TE
andi.w #$1f,dl MASA GECMEK
neg.w di dc.b "ICIN: PK 46 - 81110 BOSTANCI - ISTANBUL
PortaUp sub.w d1,56(a0) dc.b "ADRESİNE YAZINIZ. IYI GUNLER ..."
a56d0 add.w 56(a0),d0 deb. " a",0
049e3e cmpi.w #$70,d0 ErrorEnd de.l 0
bhi.s Nni ScrollTextPointer dc.l $7a000
move.w #$71,d0 O4a0c8 0 $200006,$300009
Nni cmpi.w #$6b0,d0 Silent — dc.w
bis.s Nn2 Periods dc.w $06b0, $0650,$05f4,$05a0,$054c,$0500,$04-
move.w d0 b8,$0474
Nn2 moveg #0,d de.w $0434,$03f8,$03c0,$038a,$0358,$0328,$02fa,$02d0
move.b $02a6,$0280,$025c,$023a,$021a,$01fc,$01e0,$01c5
rts de.w
de.w $010d,$00fe,$00f0,$00e2,$00d6,$00ca,$00be,$00b4
SBitmap egu — $78000 dec.w $00aa,$002a0,$0097,$008f,$0087,$007f,$0078,$007 1
SRast egu $78100 de.w $0071,$0071,$0071,$0071,$0071,$0071,$0071,$007
LBitmap egu $78200 de.w $0071,$0071,$0071,$0071,$0d60,$0ca0,$0be8,$0b4
LRast egu $78300 de.w $0a98,$0a00,$0970,$08e8,$0868,$07f0,$0780,$0714
DBitmap egu $78400 w $lac0,$1940,$17d0,$1680,$1530,$1400,$12e0,$11dl
Drast egu $78500 $10d0,$0fe0,$0f00,$0e28
de.w 0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1
GfxName — dc.b 'graphics.library”,0,0 dc.w ,0,1
DosName dc.b “'dos.library',0 dec.w 0,0,0,0,1,0,0,0,0,1,0,0,16,0,16,0,$20,16,0,16
Copper dc.w $0100,$1200,$0120,$0000 dc.w 0,$40,16,0,16,0,$60,16,0,16,0,$80,16,0,16
dec.w $008e,$2517,$0122,$0000 dec.w 0,$a0, 16,0,16,0,$c0,16,0,16,0,$e0,16,0,16
dc.w dec.w 0,160,16,0,16,0,$120,16,0,16,0,$140,16,0,16
dc.w $00e0,$0007,$00e2,$0000 dc.w 0,$160,16,0,16,0,$180,16,0,16,0,$1a0,16,0,16
dec.w $0180,$0000,$0182,$0000 dc.w 0,$1c0,16,0,16,0,$1e0,16,0,16,0,$200,16,0,16
dec.w $0108,$0006,$010a,$0006 de.w 0,$220,16,0,16,0,$240,16,0,16,0,$260,16,0,16
dc.w $9007,$fffe,$0180 dc.w 0,$280,16,0,16,0,$2a0,16,0,16,0,$2c0,16,0,16
dc.w $0000 dec.w 0,$2e0,16,0,16,0,$300,16,0,16,0,$320,16,0,16
CI2 dc.w $9107,$fffe,$0180 de.w 0,$340,16,0,16,0,$360,16,0,16,0,$380,16,0,16
dc.w 0,$3a0,16,0,16,0,$3c0,16,0,16,0,$3e0,16,0,16
RXI dc.w $05 dec.w 0,$400,8,0,8,0,$410,8,0,8,0,$420,8,0,8
CI3 dc.w 59207, $fffe,$0180 de.w 0,$430,8,0,8,0,$440,8,0,8,0,$450,8,0,8
R13 dc.w $0000 dc.w 0,$460,8,0,8,0,$470,8,0,8,0,$480,16,0,16
CI4 dc.w $9307,$fffe,$0180,$0000, $0182,$0000 de.w 0,$4a0,8,0,8,0,$4b0,16,0,16,0,$4d0,16,0,16
dc.w $0182 de.w 0,$4f0,8,0,8,0,$500,8,0,8,0,$510,$18,0,$18
ScrollRengi dc.w WaveForms d.c.w
CI $0180 d8,$d0c8
RI dc.w $0000 dc.w $3f37,$2f27,$1f17,$0f07,$f£07,$0f17,$1f27,$2f37
C2 $1907,$fffe,$0180 de.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
$0000 dc.w $c037,$2f27,$1f17,$0f07,$1f07,$0f17,$1f27,$2f37
C3 de.w de.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
$000l dec.w
$fffe, 80,$0000 dec.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
dec.w dec.w $c0b8,$b027,$1f17,$0f07,$f£07,$0f17,$1f27,$2f37
dc.w Şilte de.w
Tablo dc.l — (0*8),0,(1*8),0,(2*8)1,0,13*8),0,(4*81,0 dc.w
— (5*8),0,16*8),0,(7*8)1,0,(8*8,-0,19*8),0 dec.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
— (10*8),0,(11*8),0,(12*8),0,(13*8),0,(14*81,0 dc.w $c0b8,$b0a8,$a017,$0f07,$ff07,$0f17,$1£27,$2f37
15*8),0,(16*8)1,0,(17*8),0,(18*8),0,(19*81,0 dc.w
dc.l
de.)
del
del
de.) 140*8),0,141*8),0,(42*8)1,0,(43*8)1,0,(44*8
145*8),0,146*8)1,0,(47*81,0,(48*81,0,149*8
dc.1
dc.w $c0b8,$b0a8,$a098,$0f107,$f£07,$0f17,$1f27,$2f37
dc.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
dec.w $c0b8,$b0a8,$a098,$9007,$ff07,$0f17,$1f27,$2f37
dec.w
dc.w
de.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
dc.w $c0b8,$b0a8,$a098,$9088,$8007,$0f17,$1f27,$2f37
de.w $c0c0,$d0d8,$e0e8,$f0f8,$00f8,$f0e8,$e0d8,$d0c8
dc.w $c0b8,$b0a8,$a098,$9088,$8088,$0f17,$1f27,$2f37
,
dc.l 160*81,0,(61*81,0
d0
071
'14
1d0
dec.w
de.w
dec.w
dc.w
dc.w
dc.w
dc.w
dec.w
dec.w
dec.w
de.w
dc.w
dc.w
dc.w
dec.w
dc.w
dec.w
dc.w
dec.w
dec.w
de.w
dec.w
dec.w
dc.w
dc.w
dec.w
dec.w
dec.w
dc.w
dc.w
dc.w
dc.w
dc.w
dec.w
de.w
dec.w
dc.w
dec.w
dc.w
dc.w
dec.w
dc.w
dc.w
de.w
dec.w
dec.w
de.w
dc.w
dc.w
dec.w
dc.w
dc.w
dc.w
de.w
dec.w
dc.w
dc.w
de.w
dc.w
SysCop
GfxBase
FileHeader
c0c0,$d0d8,$e0e8,$f0f8,$00f8.$f0e8.$e0d8,$d0cg — PM2 del O
PeltaX O
£c0c0,$d0d8,$e0e8 — Peltay del O
FirstX del O
$c0c0,$d0d8 $e0e8 $f0f8.$00f8,$f0e8,$e0d8.$d0cg — FirstY O
c0b8,$b0a8 $a098,$9088,$8088,$9098,$a027,$2f37 SecondX — dc.l O
c0c0,$d0d8 $e0e8 $f0f8,$00f8,$f0e8,$e0d8,$d0cg — SecondY 0
c0b8,$b0a8,$a098,$9088,$8083,$9098,$a0a8,$2f37 — dc.l 0
5c0c0,$d0d8 $e0e8 — dec.l O
SegPoint 0
8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 PatPoint — 0
T£7L,$TETL,STETE,$TETE,$TETL,STETE,STETE,STETE FrgPoint — O
$8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 — dc.l O
bik.b 16,0
8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 ResPCnt — dc.w 0
RepSpd — dc.w 0
8181,$8181,$8181,$8181,$8181,$8181 OnOff dec.w O
FirSeg de.w O
$8181 LasSeg de.w 0
— AtdlTemp — dc.w O
$8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 SPdTemp — dc.w O
— — bik.b 64,0
8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 bik.b 2,0
— ŞSizel bik.b 2,0
8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 Startl bik.b 6,0
— Y2Data — bik.b 64,0
$8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 2,0
— SSize2 bik.b 2,0
$8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 bik.b 6,0
8181,$8181,$8181,$8181,$817f,$7f7f,$7£7£,$7E7£ — Y3Data — bik.b 64,0
8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 — bik.b 2,0
— SSize3 bik.b 2,0
$8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 Start bik.b 6,0
$8181,$8181,$8181,$8181,$8181,$817f,$7£7£,$7E7£ — YAData bik.b 64,0
8181,$8181,$8181,$8181,$8181,$8181,$8181,$8181 Offsetâ — bik.b 2,0
SI8I.S8181, bk 0
Tie İTKSTEE Buffer dc. $8EE7C,$38,$3C781000,0,$3E387C7C,$26FE3E3E
8080.$8080.$8080 $8080 $8080 $8080 $8080 $g0g0 — $3E3E0000,$3E,$3E383E,$3C3E3E3E,$263C0226,$20-
$8080 . İC! $3E3E3E3E,$3E262622 38,$7C000018,$EE82-
8080. 8080, 8080,$8080,$8080.$8080. 8080, 807f
8080,$8080,$8080,$8080,$7f7f,$7f7f,$7f7f,$7f7£ dc.l $387C7C,$7C0O00000,$67E78,$FEFE66FE,$7E7E7E66
8080.$8080.$8080.
dc.l $667E7ETE,$7E7E7E66,$6662E6E6,$7ETC8200
$8080.$8080 807f,$7f7f,$7f7£,$7f7£,$7f7f,$7f7f $38EEBA,$38,$7C7C7COO,$E,$CEF8060E
$E6COEOFE,$E6E63800,$E6,$EEFCFO,$FEFOEOFO
BİŞİ $EEFCOEFC,$EOFEFGE6,$ECEGECFE,$FEEGEGEA,$EC-
FED6
STONE SE del $BA000038,$CCA20000,$8701C,$FE00003E,$1CDE38
8080,$9098,$a0a8,$b0b8,$c0c8,$d0d8,$e0e8,$fofg İSl $7EİCFEFE,$FE06GFE FE,$38000000,$E600FE,$EF8E0-
0008,$1018,$2028,$3038,$4048,$5058,$6068,$707£
$4545,$797d,$7a77,$7066,$6158,$534d,$2c20,$1812
$04db,$d3cd, — İC
04f8,$e8db,$cfc6, 5 y
Sebeb $38EGEĞEA,$3C3838FE,$A2FCO038,$BA0000,$7C7C
—
.$e0e8 $fOf8
$0008,$1018,$2028,$3038,$4048,$5058, > > >
50010 dc.l $FEDGBAFE,$380082,0,$7C7C7COO
dei 0 $380038E0,$FE38FEFE, $6FEFE06,$FE0E3800,0,$E6F-
dc.l
del b
dci 0 dc.l
ci O
ci dc.l $1COOEG,$EC78F8F8,$EO7SEGEC,$FEEGECE2
dci 0 dc.l $E678E076,$E6F8387E,$3838E638,$FE387COO
del 0 LBuffer incbin "logo.bm"
del O Module incbin "mod.astaroth"