Skip to content

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