| |
Zibri Account closed
Registered: May 2020 Posts: 304 |
New life for your underloved datassette unit :D
The first phase of testing just ended.
(Still in the packaging and refining phase)
But I wish to share with you all my latest accomplishment.
You might want to check this out:
https://twitter.com/zibri/status/1450979434916417540
and this:
https://twitter.com/zibri/status/1450979005117644800
The fastest example (11 kilobit/sec) has the same (or better) error rlsilience as "turbo250" but it is 3 times faster.
The slowest one (8 kilobit/sec) has the same error resilience as the standard commodore slow "save", but it is 100 times faster and twice as fast as turbo250.
;)
Notes:
1) faster speeds are possible if the tape is written with a professional equipment or hi-fi with a stabilized speed and virtually no wobbling.
2) if the tape is emulated (tapuino or similar projects) the speed can go up to 34 kilobit/sec.
3) even with datassette, higher speeds are possible but the highly depend on the status of the tape, the datassette speed and azimuth. |
|
... 327 posts hidden. Click here to view all posts.... |
| |
Zibri Account closed
Registered: May 2020 Posts: 304 |
Quoting tlr
Do you mean just autostarting after loading only the first CBM data chunk? That happens for instance if using $029f/$02a0 for autostart and I guess also on ISTOP.
No :D
Quoting tlr
That kind of autostart is pretty common, although I think in most instances the second data block is still there even though it's not used.
Indeed. But not in mine.
Quoting tlr
For fast startup, keep your loader within the tape buffer and load max 2 bytes to trigger the autostart.
That's what I did!
1) no double copy of the file.
2) loader inside the tape buffer and already loaded when the "found" appears.
3) loaded 40 more bytes only (which can be reduced a little as I said)
So, after thge "found" message, only 40 bytes are really loaded :D
I can shorten that up of perhaps other 10 bytes. But that won't impact the loading time by much. What does is the single copy of the file on tape.
P.S.
I did this on my own and I didn't read of this anywhere. |
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
My method starts the turbo code 1 counter click after the filename is displayed... |
| |
SLC
Registered: Jan 2002 Posts: 52 |
Quote: Quoting tlr
Do you mean just autostarting after loading only the first CBM data chunk? That happens for instance if using $029f/$02a0 for autostart and I guess also on ISTOP.
No :D
Quoting tlr
That kind of autostart is pretty common, although I think in most instances the second data block is still there even though it's not used.
Indeed. But not in mine.
Quoting tlr
For fast startup, keep your loader within the tape buffer and load max 2 bytes to trigger the autostart.
That's what I did!
1) no double copy of the file.
2) loader inside the tape buffer and already loaded when the "found" appears.
3) loaded 40 more bytes only (which can be reduced a little as I said)
So, after thge "found" message, only 40 bytes are really loaded :D
I can shorten that up of perhaps other 10 bytes. But that won't impact the loading time by much. What does is the single copy of the file on tape.
P.S.
I did this on my own and I didn't read of this anywhere.
1. Already been done, allthough not in mine (as I didn't see much gain in that but I was aware of this. Martin Piper have done it and you can see this in many Psytronik releases)
2. Same as in mine and many others.
3. I (and others) did the same.
So, the difference here apparently lies in the vector used for autostart, then... and I'm pretty sure whatever vector you used, it's already been done by others. |
| |
Zibri Account closed
Registered: May 2020 Posts: 304 |
Quoting Martin Piper
It's possible to have a very minimal loader that only uses two bytes to claim the vector at $300/$301, plus bytes in the tape header for the loader code.
Why $300?
$326-$32D are a better choice imho.
In this way the loader can be saved normally or without the double block.
In this way it's more flexible.
$300 won't be triggered if the loader is saved normally because there won't be a load error.
Also: to write such a loader fom the C64 itselt is tricky.
I can write anyway from C64 my loader in the normal way.
From my tap generator I can create it both the normal both the truncated way and it works with no modification.
About loading 2 bytes only:
in the tape header section there are 191 bytes of which 16 are the file name, start/end address ($14 bytes)
That leaves 171 bytes in the tape buffer for code.
Some loaders load a pre-loader there, then with that they load another piece of the loader and then start the turbo routine.
Instead, I just write from $326 to $350 (filename can be long)
and jump.
That is everything my loader needs. So after that there is directly the turbo data. |
| |
Zibri Account closed
Registered: May 2020 Posts: 304 |
Quoting SLC1. Already been done, allthough not in mine (as I didn't see much gain in that but I was aware of this. Martin Piper have done it and you can see this in many Psytronik releases)
2. Same as in mine and many others.
3. I (and others) did the same.
So, the difference here apparently lies in the vector used for autostart, then... and I'm pretty sure whatever vector you used, it's already been done by others.
I saw your loader (briefly):
1) not same at all you load at different addresses.
2) not same as you or any other I saw (not many to say the truth)
3) you absolutely not do the same I do, perhaps you understood it wrongly.
4) my loader allows and uses also another technique and allows the saved "cbm" data to be saved only once (or normally if needed, without any change in the code).
If you think ALL these techniques where used in a single loader, please do tell me which one and I will analyze it and tell you any differences I find. Perhaps there would be even some better ideas there.. I don't know. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quoting ZibriQuoting tlr
For fast startup, keep your loader within the tape buffer and load max 2 bytes to trigger the autostart.
That's what I did!
1) no double copy of the file.
2) loader inside the tape buffer and already loaded when the "found" appears.
3) loaded 40 more bytes only (which can be reduced a little as I said)
So, after thge "found" message, only 40 bytes are really loaded :D
I can shorten that up of perhaps other 10 bytes. But that won't impact the loading time by much. What does is the single copy of the file on tape.
P.S.
I did this on my own and I didn't read of this anywhere.
Exactly. The details will lay in how you choose to do your autostart.
It's a fun process to find this kind of stuff out for sure!
We all find a lot of stuff out on our own and it often turns out to be already found out by others. Not surprising given the amount of people who have fiddled with this during the years. When you know what has been done, you can choose to apply a new twist on it to make it unique.
My suggestion was 2 bytes, so some more room for improvement. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:You remind me of him, you just look less skilled than him, and he was a kid at the time.
Now go fix VICE and try to not mess it up any further.
Oh no wait, you are the one pushing 3 commits just to correct comments... what a fullfilling job.
Another carefully crafted ad hominem! Has it's moments! |
| |
SLC
Registered: Jan 2002 Posts: 52 |
Quote: Quoting SLC1. Already been done, allthough not in mine (as I didn't see much gain in that but I was aware of this. Martin Piper have done it and you can see this in many Psytronik releases)
2. Same as in mine and many others.
3. I (and others) did the same.
So, the difference here apparently lies in the vector used for autostart, then... and I'm pretty sure whatever vector you used, it's already been done by others.
I saw your loader (briefly):
1) not same at all you load at different addresses.
2) not same as you or any other I saw (not many to say the truth)
3) you absolutely not do the same I do, perhaps you understood it wrongly.
4) my loader allows and uses also another technique and allows the saved "cbm" data to be saved only once (or normally if needed, without any change in the code).
If you think ALL these techniques where used in a single loader, please do tell me which one and I will analyze it and tell you any differences I find. Perhaps there would be even some better ideas there.. I don't know.
Do you even read what others write?
For 1, I already stated that I do not discard that second data block, I acknowledged that it can be done. Check some of the Psytronik releases for example and you will see this. You were not first!
For 2, can you explain what you think is different? You can load $033c-$03fc, and that's it. Most of my loader resides here, but I needed some extra bytes that I chose to load near my chosen vector to autostart.
For 3, again I don't understand what you think is so different. I overload the vector I chose for autostart (I know there are more options) and the few extra bytes I needed for my loader. I just didn't choose to discard the repeat block.
I think it's you who do not understand, tbh. But what about you teling exactly what you did so that we don't have to play this guessing game?
Soci, who you do not accept any proof from because there are no twitter videos and only working binaries, uses another trick in addition to all these. In the ROM header, he places a small loader that is loading his main loader. |
| |
Burglar
Registered: Dec 2004 Posts: 1101 |
BREAKING: Popcorn sold out in C64land! |
| |
Zibri Account closed
Registered: May 2020 Posts: 304 |
Quoting BurglarBREAKING: Popcorn sold out in C64land!
ROTFL! :D |
Previous - 1 | ... | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 - Next |