Thread: CHIP8 thread
View Single Post
Old January 8th, 2009   #48 (permalink)
runawayprisoner
Mobile Fanatic
 
runawayprisoner's Avatar
 
Join Date: Nov 2006
Location: Santa Cruz, CA
Posts: 6,206
Quote:
Originally Posted by dreampeppers99 View Post
As runawayprisoner have said... I've just plus one thing.
I believe that PONG uses the FONT scheme instead of BCD so checks your insctructions to font...

FX29 I points to the 4 x 5 font sprite of hex char in VX
Fx29 - LD F, Vx
Set I = location of sprite for digit Vx.

The value of I is set to the location for the hexadecimal sprite corresponding to the value of Vx. See section 2.4, Display, for more information on the Chip-8 hexadecimal font.

Source



See if you are correct with this too.
Just correcting something that I think Cowgod is making look confusing.

FX29 should be...

LD I, F[VX]

or...

LDF VX

Instead of...

LD F, VX

Because there is no F register, so if you put F in there in the disassembler along with LD, it looks really confusing. rather... LD I, F[VX] seems cleaner.

Similarly,

FX33 should be...

LD [i], BCD[VX]

or...

LDM I, BCD[VX]

or...

BCD VX

Instead of...

LD B, VX

And again, just because there is no B register. I know some of us have the habit of making a universal LD function that takes any value from a register and load it into another register... so if you use that convention for F and B, it'll return an error or do something else altogether.

Be careful. (I realized this error from my Gameboy emu... ack...)
__________________
cChip interpreter WIP - current status: Release Candidate
LRx Filter RC - current performance rating: 9/10
runawayprisoner is offline   Reply With Quote