| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
2 bit irq loader
Hmm, just a question...
Is there a 2 bit irq loader, which doesn't require blocking other interrupts while loading a byte?
i.o.w. Is there a realy fast irq loader which doesn't block any interrupts and let me use my beloved sprites? :-)
|
|
... 42 posts hidden. Click here to view all posts.... |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Quote: The question about the fastest loader is a bit like the one about the best cruncher or assembler. It depends heavily on your needs and requirements.
Ok, how about...
- It has to work with a C64 + a 1541, and doesn't have to work on other drives.
- It loads 16 blocks ($1000) of code, which can't really be compressed much, so let's say it's not compressed.
- One IRQ each frame for playing music, and doing simple stuff like switching some text. The IRQ will use up to 48 ($30) rasterlines.
- No need for cycle excact timing. Actually the IRQ could vary several rasterlines if that would make the loader faster.
- No sprites on the screen.
Wonder if it would be possible to use all 3 bits for data transfer for a loader with these kinda requirements. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
@Cruzer: Only the C64 can control the ATN line so you can't make use of all three bits as data bits when sending from 1541->C64 (loading). Saving could in theory ofcourse make use of it. :D World's fastest hiscore saver anyone? :D |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
what about programming ATN as output, but still using it as input? works with certain other i/o lines atleast :) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
I don't think that would work. If you check with the 1541's bus circuitry, the ATN line is heavily interlocked with the data line, and there is some blocking diode in the 1541->C64 direction, iirc. I second JackAsser there, C64->1541 works, but not the other way around. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
ah yes, i remember now :) |
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
Ehr... silly question maybe. But I'm writing my own loader now and I was wondering why the VIA reg and the CIA reg both have input and output bits.
Wouldn't it be more logical if you would just have a data bit and a clock bit, which would reflect the current state?
What is the benefit of having the in/out bits per line?
|
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
The benefit is that you don't need to switch the data direction all the time. |
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
Hmm, but do you need to clear it?
ie. when I set the data-out from low to high, will the data-in automatically be high too?
Or will the data-in remain the same until the other party lowers it?
And if so, can I reset it too? by clearing the via1 for example?
|
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
CLK/DATA IN is active when the output is active on either the computer or one of the drives. If all are inactive, CLK/DATA IN is inactive.
|
| |
MRT Account closed
Registered: Sep 2005 Posts: 149 |
ehr... yeah, but on the VIA1 register... When I set data-out to active, will then automatically the data-in on that same VIA1 register be set to active?
Edit: Or will the data-in on that VIA1 register only be set to active, when the C64 (or another drive) sets that line to active? |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |