home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
MIDICOM.LZH
/
MCTALK_3.9
/
SOURCEN
/
STADPAK.S
< prev
Wrap
Text File
|
1992-06-28
|
4KB
|
122 lines
DO_PM85: movem.l D3-D5,-(SP)
move.w #$7D00,D0
clr.w D1
move.b (A0)+,D1
clr.w D2
move.b (A0)+,D2
clr.w D3
move.b (A0)+,D3
L10214: clr.w D4
move.b (A0)+,D4
cmp.w D4,D1
bne.s L10220
move.w D2,D4
bra.s L10230
L10220: cmp.w D4,D3
bne.s L10236
clr.w D4
move.b (A0)+,D4
tst.w D4
bne.s L10230
tst.b (A0)
beq.s L1024A
L10230: clr.w D5
move.b (A0)+,D5
bra.s L1023E
L10236: move.b D4,(A1)+
subq.w #1,D0
ble.s L1024A
bra.s L10214
L1023E: move.b D4,(A1)+
subq.w #1,D0
ble.s L1024A
subq.w #1,D5
bge.s L1023E
bra.s L10214
L1024A: movem.l (SP)+,D3-D5
rts
DO_PM86: movem.l D3-D5/A2,-(SP)
subq.w #2,SP
move.w #$7D00,D0
move.w #$0190,D1
movea.l A1,A2
movea.l A2,A1
clr.w D2
move.b (A0)+,D2
move.w D2,(SP)
clr.w D3
move.b (A0)+,D3
clr.w D4
move.b (A0)+,D4
L10270: clr.w D5
move.b (A0)+,D5
cmp.w (SP),D5
bne.s L1027C
move.w D3,D5
bra.s L1028C
L1027C: cmp.w D5,D4
bne.s L10292
clr.w D5
move.b (A0)+,D5
tst.w D5
bne.s L1028C
tst.b (A0)
beq.s L102B2
L1028C: clr.w D2
move.b (A0)+,D2
bra.s L10294
L10292: clr.w D2
L10294: move.b D5,(A1)
subq.w #1,D0
ble.s L102B2
subq.w #1,D1
ble.s L102A4
lea $50(A1),A1
bra.s L102AC
L102A4: addq.w #1,A2
movea.l A2,A1
move.w #$0190,D1
L102AC: subq.w #1,D2
bge.s L10294
bra.s L10270
L102B2: addq.w #2,SP
movem.l (SP)+,D3-D5/A2
rts
CONVERT: move.l A2,-(SP)
move.l A3,-(SP)
movea.l A0,A3
jsr PHYSBASE(PC)
movea.l A0,A2
cmpi.l #$704D3835,(A3)
bne.s L102DA
movea.l A2,A1
lea 4(A3),A0
jsr DO_PM85(PC)
bra.s L102EC
L102DA: cmpi.l #$704D3836,(A3)
bne.s L102F0
movea.l A2,A1
lea 4(A3),A0
jsr DO_PM86(PC)
L102EC: moveq #1,D0
bra.s L102F2
L102F0: clr.w D0
L102F2: movea.l (SP)+,A3
movea.l (SP)+,A2
rts
PHYSBASE: move.l A2,-(SP)
move.w #2,-(SP) ;physbase
trap #$0E ;XBIOS
addq.w #2,SP
movea.l D0,A0
movea.l (SP)+,A2
rts
RETADR: DC.L 0
GETSTAD: move.l (SP)+,RETADR
movea.l (SP)+,A0
bsr.s CONVERT
movea.l RETADR(PC),A0
jmp (A0)
END