Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VIC IV organization memory map may need clarification #621

Open
binarycrusader opened this issue Dec 31, 2024 · 1 comment
Open

VIC IV organization memory map may need clarification #621

binarycrusader opened this issue Dec 31, 2024 · 1 comment

Comments

@binarycrusader
Copy link

binarycrusader commented Dec 31, 2024

In the "VIC IV organization and memory access basics" section, there is a bit of text that says:

\item The screen RAM, which occupies the memory range \$0800-\$2000 (by default)

The screen RAM, which occupies the memory range $0800-$2000 (by default)

However, the graphic immediately above it says:

image

Screen RAM
$0800-$0FFF

Which is likely slightly confusing. As far as I can gather, the VIC-III (planned C65) used $0800-$0FFF for the "VIC screen".

Checking another C65 page, it shows this mapping instead:

$0800 2048 screen_1 ($0800-$0FCF) 2000 bytes; 
...
 $0FCF 4047 screen_2000 ;
 ; downloaded RestoreSystem, JMP/JSR_FAR routines
 ; VIC-III 80 column text screen (80x25)
C65 (911001) Memory Map - C65 mode

Addr. dec Name Comment
 $0FD0 4048 vicsprite_ptr_1 ($0FD0-$0FFF) 48 bytes; 
... ... ... ; reserved for VIC spritepointers
 $0FFF 4095 vicsprite_ptr_48 ;
 ;programmable function key definitions
 $1000 4096 pkybuf_1 ($1000-$100F) 16 bytes; 

It's unclear if the MEGA65's VIC-IV has extended that beyond the VIC-III or if this is just a typo.

@dansanderson
Copy link
Collaborator

dansanderson commented Jan 1, 2025

Thanks, yes, it's a typo. $0800-$0FCF is correct, and notably only for 40x25 and 80x25 text modes. (There's quite a bit of other stuff in $0FD0-$2000. :) ) When wanting to use screen memory owned by the KERNAL (the "screen editor" used by PRINT etc.), I always recommend reading the start address from the VIC-IV registers, and not assuming a default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants