Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > New life for your underloved datassette unit :D
2021-10-21 02:22
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....
 
2021-11-18 17:32
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.
2021-11-18 17:35
Martin Piper

Registered: Nov 2007
Posts: 722
My method starts the turbo code 1 counter click after the filename is displayed...
2021-11-18 17:46
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.
2021-11-18 17:47
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.
2021-11-18 17:52
Zibri
Account closed

Registered: May 2020
Posts: 304
Quoting SLC
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.


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.
2021-11-18 17:53
tlr

Registered: Sep 2003
Posts: 1790
Quoting Zibri
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.

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.
2021-11-18 18:04
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!
2021-11-18 18:06
SLC

Registered: Jan 2002
Posts: 52
Quote: Quoting SLC
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.


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.
2021-11-18 18:24
Burglar

Registered: Dec 2004
Posts: 1101
BREAKING: Popcorn sold out in C64land!
2021-11-18 18:24
Zibri
Account closed

Registered: May 2020
Posts: 304
Quoting Burglar
BREAKING: Popcorn sold out in C64land!


ROTFL! :D
Previous - 1 | ... | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
t0m3000/hf^boom!^ibx
Pantaloon/Fairlight
Flashback
iAN CooG/HVSC
Fred/Channel 4
No-XS
cobbpg
The Syndrom/TIA/Pret..
Guests online: 104
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.051 sec.