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

Feature drv1541parallel #21

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

Conversation

ytmytm
Copy link
Contributor

@ytmytm ytmytm commented Mar 25, 2024

This is a 1541 driver for drives (one or more) connected with a parallel cable. It is about twice as fast as original one.

The cable type is this one: https://sta.c64.org/cbmpar41c.html with VIA pin 18 (CB1) connected to PC2 - it's not the same as DolphinDOS one.

All 1541 connected drives have to use parallel cable, daisy-chained.

This is about twice as fast as regular 1541 driver thanks to GCR decoded on the fly using LFT's routine from Spindle 3.1.
Data cache within REU (shadow 1541) had to be removed because there is no space for that within disk driver area anymore. (With cache functions removed this new sector loading routine could be ported back to the original drv1541.s driver)

For VICE testing don't forget to set both the drive settings (Parallel cable = standard) and userport settings (Userport parallel drive cable), like: x64 -parallel8 1 -userportdevice 21

The sector transfer from drive to C64 takes 33 cycles for each byte (5 extra cycles to compute checksum on the drive side) and the handshake test branch on both sides is mostly not taken.

Maciej Witkowiak added 27 commits March 25, 2024 22:50
… the fly number of 32-byte (0) chunks needed to be sent via memory-write
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.

1 participant