You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix USCF Chess and Land Battle: enable $D000-$D3FF RAM 8 (#97)
* Fix USCF Chess and Land Battle: enable D000-D3FF RAM 8
USCF Chess (1981) and Land Battle (1982) both use load method 4,
which requires 8-bit RAM at \-\. writeMem() was silently
discarding all writes to this range, causing the game's CPU to be
unable to store piece positions, BACKTAB data, or working variables.
This produced completely garbled graphics (GROM character garbage
instead of chess pieces/board tiles).
Fix:
- Add d000_ram flag to memory.h/memory.c
- writeMem: allow 8-bit writes to \-\ when d000_ram is set
- readMem: mask reads from \-\ to 8 bits when d000_ram is set
- d000_ram is reset at start of MemoryInit() (on each cart load)
- load4() in cart.c now sets d000_ram = 1 instead of the TODO comment
Also fix C89 compliance in stic.c: replace // comments with /* */
Fixes: #96
* Add screenshots/Thumbs.db to .gitignore
---------
Co-authored-by: Jason Carr <jcarr71@users.noreply.github.com>
0 commit comments