I've been working on it for a couple of days, and so it's still not quite complete, but the basics are there - file loading/saving and compiling. The underlying structure is much tighter than in Z80 Workshop - half due to .NET, half due to me doing things more sensibly.
Now, one "feature" is going to be a snippets bin - a box (next to the Z80 Instructions tab) with small snippets of code. For example:
Code: Select all
;DESCRIPTION:This routine does just the same job as LDIR, but is expanded so you can (for example) perform the same operation on every byte as it is copied across.
;AUTHOR:Patai Gergely
ldirRepeat:
ld a,(hl) ; Getting the current byte
inc hl
ld (de),a ; Storing it
inc de
dec bc ; Handling the loop
ld a,b
or c
jr nz,ldirRepeat
ret
Code: Select all
;DESCRIPTION:This routine inverts the image in the graph buffer.
;AUTHOR:Ben Ryves
invertScreen:
ld hl,plotSScreen
ld bc,768
invertLoop:
ld a,(hl)
cpl
ld (hl),a
inc hl
dec bc
ld a,b
or c
jr nz,invertLoop
ret
Code: Select all
;DESCRIPTION:This routine decompresses BC bytes of data (RLE compressed, runs marked with $91) located at HL into DE. Note that BC is the size of the original uncompressed data.
;AUTHOR:David Phillips
RLE:
ld a,(hl)
cp $91
jr z,DispRLERun
ldi
DispRLEC:
ret po
jr RLE
DispRLERun:
inc hl
inc hl
ld a,(hl)
DispRLERunL:
dec hl
dec a
ldi
jr nz,DispRLERunL
inc hl
jr DispRLEC
)
I'd also like a full list of ALL the TI-83 Plus ROM calls, but getting a decent list in a sensible format might be tricky (and I'm not going to populate a database table by hand).
Comments? Questions? Requests?