mirror of
https://github.com/dwsJason/xrick2gs.git
synced 2024-06-16 00:29:28 +00:00
DrawSprite: modify ASM function, to be called from ORCA C
This commit is contained in:
parent
0c2f9bb0c5
commit
c00d2c1360
|
@ -9,13 +9,32 @@
|
||||||
Dummy4 start ASMCODE
|
Dummy4 start ASMCODE
|
||||||
end
|
end
|
||||||
*-------------------------------------------------------------------------------
|
*-------------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
*void DrrawSprite(int offset, into SpriteNo);
|
||||||
|
*
|
||||||
DrawSprite start ASMCODE
|
DrawSprite start ASMCODE
|
||||||
|
|
||||||
|
iOffset equ 5
|
||||||
|
iSpriteNo equ 7
|
||||||
|
|
||||||
PHB
|
PHB
|
||||||
PHK
|
PHK
|
||||||
PLB
|
PLB
|
||||||
|
|
||||||
|
lda iOffset,s ; Screen Address
|
||||||
|
tay ; Y=Target Screen Address ($2000-$9D00)
|
||||||
|
|
||||||
|
lda iSpriteNo,s
|
||||||
ASL A ; A=Sprite Number ($0000-$01C1)
|
ASL A ; A=Sprite Number ($0000-$01C1)
|
||||||
TAX ; Y=Target Screen Address ($2000-$9D00)
|
tax
|
||||||
|
* Repair Stack
|
||||||
|
lda 3,s
|
||||||
|
sta iSpriteNo,s
|
||||||
|
lda 1,s
|
||||||
|
sta iSpriteNo-2,s
|
||||||
|
pla
|
||||||
|
pla
|
||||||
|
* Dispatch bank specific
|
||||||
LDA xrickNum,X ; Relative Sprite Number Table
|
LDA xrickNum,X ; Relative Sprite Number Table
|
||||||
JMP (xrickBank,X) ; Bank Number Table
|
JMP (xrickBank,X) ; Bank Number Table
|
||||||
|
|
||||||
|
|
|
@ -182,6 +182,7 @@ extern volatile unsigned long* tick;
|
||||||
extern void SetTileBank(short bank);
|
extern void SetTileBank(short bank);
|
||||||
extern void DrawTile(int offset, int tileNo);
|
extern void DrawTile(int offset, int tileNo);
|
||||||
extern void SetSpriteBanks(short b0, short b1, short b2, short b3);
|
extern void SetSpriteBanks(short b0, short b1, short b2, short b3);
|
||||||
|
extern void DrawSprite(int offset, into SpriteNo);
|
||||||
|
|
||||||
// ADB Support Code
|
// ADB Support Code
|
||||||
extern char KeyArray[128];
|
extern char KeyArray[128];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user