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

Implement hardware-accelerated cycle-exact IEC bus controller device #736

Open
gardners opened this issue Sep 22, 2023 · 3 comments
Open
Assignees
Labels
enhancement A feature request or other kind of enhancement.

Comments

@gardners
Copy link
Contributor

Is your feature request related to a problem? Please describe.

#341 and #283 both occur because managing IEC communications on a CPU that changes frequency is a bit of a pain in the backside. It would be nice to have a good solution to this, so that all IEC peripherals worked -- including in fast/JiffyDOS/DolphinDOS mode etc.

Describe the solution you'd like
A hardware accelerated IEC serial controller that looks after all the black magic and exact timings required, and presents a hardware interface with commands that map to the KERNAL jumptable for IEC communicatoins.

Describe alternatives you've considered

  1. Acquire time-machine, go back to when 6522 was being developed, and point out the shift-register bug, so that the VIC-20 would have used fast serial from the start. This would make a lot of things easier, however, timemachines are never in the depot when you go looking for one, which also presents some interesting logical corrundrums, similar to the paradox of why space isn't as bright as the surface of a sun, given that all sight lines point towards stars.
  2. As above, but this time tell them to get over the lack of shift-register, and just use a JiffyDOS-like protocol from the start in the VIC-20.
  3. As above, but start a company who makes cheaper IEEE-488 cables, so that the VIC-20 could have just stayed with the parallel bus. Then we could all still be using SFD1001s etc, too.
  4. Spend a lot of time and effort in the ROM to make it all work. Volunteers welcome.

Additional context
Also has the benefit of making it much easier to access IEC devices without the KERNAL, as the JSRs to the jumptable will instead basically become a set of similar POKEs.

@gardners gardners added the new New report, not classified yet label Sep 22, 2023
@gardners gardners self-assigned this Sep 22, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Sep 24, 2023
gardners pushed a commit that referenced this issue Oct 3, 2023
gardners pushed a commit that referenced this issue Oct 3, 2023
gardners pushed a commit that referenced this issue Oct 3, 2023
gardners pushed a commit that referenced this issue Oct 3, 2023
gardners pushed a commit that referenced this issue Oct 3, 2023
gardners pushed a commit that referenced this issue Aug 10, 2024
gardners pushed a commit that referenced this issue Aug 10, 2024
gardners pushed a commit that referenced this issue Aug 10, 2024
gardners pushed a commit that referenced this issue Aug 11, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 13, 2024
gardners pushed a commit that referenced this issue Aug 18, 2024
gardners pushed a commit that referenced this issue Aug 18, 2024
gardners pushed a commit that referenced this issue Aug 18, 2024
johnwayner added a commit to johnwayner/mega65-core that referenced this issue Aug 29, 2024
$4C - release all lines
$50 - enable all protocol exts (JiffyDOS, C128 fast)
$70 - disable all protocol exts
lydon42 added a commit that referenced this issue Aug 29, 2024
lydon42 added a commit that referenced this issue Sep 22, 2024
docs(Changelog.md): add 736 to Changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A feature request or other kind of enhancement.
Projects
None yet
Development

No branches or pull requests

3 participants