[A83] Ion Problems
[Prev][Next][Index][Thread]
[A83] Ion Problems
I think I'm doing something wrong in my program. It worked fine as a program, but not as an application. I am using "dwedit's app development kit". Could that be a problem?
-Calc Freak
#DEFINE APPNAME "TI WinXP"
#DEFINE APPPAGES 1
#INCLUDE "DWEDIT.INC"
StartApp:
Boot:
B_Call _ClrLCDFull
StartBar:
ld b,62
ld c,12
ld a,0
ld l,a
ld ix,StartBar_
jp ionLargeSprite
; call ionLargeSprite
jp grbufcpy
; B_Call _grbufcpy
B_Call _getkey
StartMenu:
ld b,62
ld c,12
ld a,0
ld l,a
ld ix,StartMenu_
jp ionLargeSprite
; call ionLargeSprite
jp grbufcpy
; B_Call _grbufcpy
NoPrgm:
B_Call _getkey
cp kRight
jp z,NoPrgm
PrgmMenu:
ld b,62
ld c,12
ld a,0
ld l,a
ld ix,PrgmMenu_
jp ionLargeSprite
; call ionLargeSprite
jp grbufcpy
; B_Call _grbufcpy
B_Call _getkey
ret
:TI-OS
BJump(_JForceCmdNoChar)
StartBar_:
; .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $7F,$FF,$FD,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FC
.db $80,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $9B,$93,$3A,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $A1,$2A,$92,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $91,$3B,$12,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $89,$2A,$92,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $B1,$2A,$92,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $80,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$02
.db $7F,$FF,$FD,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF,$FC
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
StartMenu_:
; .db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00
.db $80,$00,$00,$00,$00,$80,$00,$00,$00,$00,$00,$00
.db $9B,$BB,$BB,$19,$80,$80,$00,$00,$00,$00,$00,$00
.db $A2,$11,$12,$A2,$00,$80,$00,$00,$00,$00,$00,$00
.db $93,$11,$12,$A9,$00,$80,$00,$00,$00,$00,$00,$00
.db $8A,$11,$12,$A8,$80,$80,$00,$00,$00,$00,$00,$00
.db $B3,$91,$3A,$9B,$2A,$80,$00,$00,$00,$00,$00,$00
.db $80,$00,$00,$00,$00,$80,$00,$00,$00,$00,$00,$00
.db $B3,$39,$B1,$29,$90,$80,$00,$00,$00,$00,$00,$00
.db $AA,$AA,$2A,$BA,$18,$80,$00,$00,$00,$00,$00,$00
.db $B3,$2A,$B3,$B9,$1C,$80,$00,$00,$00,$00,$00,$00
.db $A2,$AA,$AA,$A8,$98,$80,$00,$00,$00,$00,$00,$00
.db $A2,$B9,$AA,$AB,$10,$80,$00,$00,$00,$00,$00,$00
.db $80,$00,$00,$00,$00,$80,$00,$00,$00,$00,$00,$00
.db $9A,$AB,$99,$D5,$80,$80,$00,$00,$00,$00,$00,$00
.db $A2,$A9,$15,$55,$40,$80,$00,$00,$00,$00,$00,$00
.db $93,$A9,$15,$55,$40,$80,$00,$00,$00,$00,$00,$00
.db $8A,$A9,$15,$5D,$40,$80,$00,$00,$00,$00,$00,$00
.db $B2,$B9,$19,$D5,$40,$80,$00,$00,$00,$00,$00,$00
.db $80,$00,$00,$00,$00,$80,$00,$00,$00,$00,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
PrgmMenu_:
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$3F,$FF,$FF,$FF,$E0,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $7F,$FF,$FF,$FF,$FF,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$40,$00,$00,$00,$10,$00,$00
.db $00,$00,$00,$00,$00,$3F,$FF,$FF,$FF,$E0,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
.db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
ionLargeSprite:
;#include "LSprite.h"
;-----> Draw a picture
;Input: ix->sprite
; a=x
; l=y
; b=height (in pixels)
; c=width (in bytes, e.g. 2 would be 16)
;Output: nothing
; All registers are destroyed except bc', de', hl'
largeSprite:
di
ex af,af'
ld a,c
push af
ex af,af'
ld e,l
ld h,$00
ld d,h
add hl,de
add hl,de
add hl,hl
add hl,hl
ld e,a
and $07
ld c,a
srl e
srl e
srl e
add hl,de
ld de,gbuf
add hl,de
largeSpriteLoop1:
push hl
largeSpriteLoop2:
ld d,(ix)
ld e,$00
ld a,c
or a
jr z,largeSpriteSkip1
largeSpriteLoop3:
srl d
rr e
dec a
jr nz,largeSpriteLoop3
largeSpriteSkip1:
ld a,(hl)
xor d
ld (hl),a
inc hl
ld a,(hl)
xor e
ld (hl),a
inc ix
ex af,af'
dec a
push af
ex af,af'
pop af
jr nz,largeSpriteLoop2
pop hl
pop af
push af
ex af,af'
ld de,$0C
add hl,de
djnz largeSpriteLoop1
pop af
ret
grbufcpy:
;#include "FastCopy.h"
;-----> Copy the gbuf to the screen (fast)
;Input: nothing
;Output:graph buffer is copied to the screen
fastCopy:
di
ld a,$80 ; 7
nop
out ($10),a ; 11
ld hl,gbuf-12-(-(12*64)+1) ; 10
ld a,$20 ; 7
ld c,a ; 4
inc hl ; 6 waste
dec hl ; 6 waste
fastCopyAgain:
ld b,64 ; 7
inc c ; 4
ld de,-(12*64)+1 ; 10
nop
out ($10),a ; 11
add hl,de ; 11
ld de,10 ; 10
fastCopyLoop:
add hl,de ; 11
inc hl ; 6 waste
inc hl ; 6 waste
inc de ; 6
ld a,(hl) ; 7
nop
out ($11),a ; 11
dec de ; 6
djnz fastCopyLoop ; 13/8
ld a,c ; 4
cp $2B+1 ; 7
jr nz,fastCopyAgain ; 10/1
ret ; 10
; Critical timings:
; command->command: 65
; command->value : 68
; value ->value : 66
; value ->command: 67
;.end
;END
Follow-Ups: