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

EXPERIMENTAL!! jump table address decoder + support 24k and 32k drive roms #47

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

penfold42
Copy link
Contributor

For review and discussion only at this stage..

It does work - by work I mean a d64copy works fine. I haven’t tested more yet.

What’s the best way to profile this ?

At the expense of a little ram, this should be quicker - certainly more predictable.

I’m no c++ dev, but maybe a MemoryDevice base class for the VIA, rom and ram would make this much cleaner. The intermediate functions are horrible.

The big advantage is zero additional run time overhead as we add more config options - additonal rom, ram, 1581, 1571 support and so forth

@pi1541
Copy link
Owner

pi1541 commented Jul 25, 2018

This is how VICE does it and it is cleaner.
Performance wise non consecutive case statements assemble to jumps anyway so it should be the same.

Just be careful though and make sure that everything is still mapped correctly.

readNULL returning 0 will break a lot of copy protections.
It should return address >> 8

unmapped ram returns address >> 8
@penfold42
Copy link
Contributor Author

I’ve done the >>8 but closing for now - will re open when I look at cleaning it up properly

@penfold42 penfold42 closed this Jul 29, 2018
@penfold42 penfold42 reopened this Aug 13, 2018
@penfold42
Copy link
Contributor Author

Can you pls take another peek at this ?

I’ve added support for 24k and 32k drive roms (like dolphin and sjiffy)

@penfold42
Copy link
Contributor Author

This has merge conflicts with my PR #72
If you want to merge both this weekend, merge one and I’ll clean the other up

@penfold42 penfold42 changed the title EXPERIMENTAL!! using jump tables for address decoding EXPERIMENTAL!! jump table address decoder + support 24k and 32k drive roms Sep 8, 2018
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

Successfully merging this pull request may close these issues.

2 participants