Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

MEGA65: Xemu/MEGA65 development plan #218

Closed
lgblgblgb opened this issue Dec 7, 2020 · 2 comments
Closed

MEGA65: Xemu/MEGA65 development plan #218

lgblgblgb opened this issue Dec 7, 2020 · 2 comments

Comments

@lgblgblgb
Copy link
Owner

lgblgblgb commented Dec 7, 2020

Xemu/MEGA65 development plan

As MEGA65 seems to be more and more popular partly because the "media" (YouTube videos, etc), there is some further force now about better emulation of MEGA65. Besides this fact, surely, the issue would be valid otherwise as well, it's "just" an extra push. The goal of this summary is try to summarize the main problems and possible solutions, with the ability others can comment, make suggestions below. To solve problem(s), first we must define the problems and goals. Then it's needed to find plans/solutions, even multiple ones, then selecting one. Also there should be some priority list about the problems to "attack". To make it worse, some problems may be related, and the "logical" priority would make it much more complicated to solve more issues on the longer term than the seemingly (from user point of view) "logical" way (ie, "what is more important for the user").

Currently, even this description is WIP, and can change any time!

Please help to add more "boarder scope" problems (not just small issues), or more information / ideas on the existing ones!

Main problems (not small/smaller ones!)

Partly because I know, partly because of feedbacks I see the following main problems:

Also see these:

Beyond scanline precision

Almost impossible to do even on a very fast PC, because of the relative high (~80MHz?) dot clock of MEGA65 and other things to emulate as well other than VIC-IV (also very demanding like CPU clock is 40.5MHz with "MEGA65 fast").

Proposal: stick with scanline precision for now, even that is not yet merged back to mainstream Xemu. In the future though some sub-scanline feature can be thought. Like at least border and background colour changes can be tracked with exact timing. Maybe an acceptable compromise between "scanline precision only" and "pixel level accurate emulation". Also, it can be useful though to collect what kind of beyond scanline precision can be useful and worth the effort (consider: needed CPU power to emulate, and human resource / priority to deal with these problems instead of working on other features). Another idea: use a "change queue" (events) to changed register values with precise "timestamps" during CPU/DMA emulation and use them during the scanline rendering to accurate take account of those changes (the performance bottleneck of an emulator to "break" the loop of the CPU and VIC emulation all the time into more fine time steps).

Priority: relative low, it's much more important now to have all the VIC-IV merged, optimized, fixed compatibility with known examples (like YAPED32 #212), and so on.

@lgblgblgb
Copy link
Owner Author

Currently, "vic" is in sync with "dev". "next" has been created to be the future "next master". Some strange issues must have been fixed with getting current branch on the used Ci services (Travis and Github actions).

@lgblgblgb lgblgblgb self-assigned this Jan 27, 2021
@lgblgblgb
Copy link
Owner Author

lgblgblgb commented Apr 8, 2021

CIA: now has "linked" 32 bit counter mode for CIA: 4b70a29

Repository owner locked and limited conversation to collaborators May 22, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Projects
None yet
Development

No branches or pull requests

1 participant