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

40 column video memory mirroring not working #11

Open
rhester72 opened this issue Jul 12, 2023 · 4 comments
Open

40 column video memory mirroring not working #11

rhester72 opened this issue Jul 12, 2023 · 4 comments

Comments

@rhester72
Copy link

rhester72 commented Jul 12, 2023

Please observe the following VICE behavior when directly manipulating screen memory.

In 40 column mode, the start of screen memory (at $8000) is mirrored into the 80 column region, such that POKEing a memory location changes the same location in the 80 column half of RAM:

vice40

which obviously doesn't (and can't) occur in 80 column mode:

vice80

This mirroring does not happen currently in the core, which breaks 80-column detection routines like those used in later issues of CURSOR magazine.

Proper mirroring would be:

$8000-83FF -> $8400-87FF (per testing with the 4032 in VICE 3.7)

@sorgelig
Copy link
Member

i've added mirroring in new commit

@rhester72
Copy link
Author

Confirmed as fixed, thanks very much!

@rhester72 rhester72 reopened this Jul 13, 2023
@rhester72
Copy link
Author

Sincere apologies - now that I know the real-world target is a 2001-32N, a bit more mirroring is needed if historical accuracy is desired.

$8000-83FF (on the 2001 only!) mirrors to three ranges:

$8400-87FF
$8800-8BFF
$8C00-8FFF

@sorgelig
Copy link
Member

I'm not familiar with PET, but according to VICE we can emulate also 3008,3016,3032 models without much changes. Are those mirroring are really required to make some software working? Since we have custom ROM loading now, we can use 8800-8FFF for some ROM versions.

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

No branches or pull requests

2 participants