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 > CSDb Discussions > X2016 Competitions: Your Input Wanted!
2016-02-16 20:07
Burglar

Registered: Dec 2004
Posts: 1031
X2016 Competitions: Your Input Wanted!

The 28th of october is still far away but getting closer and closer. The organizers have been getting busy and are now well underway to get everything sorted out for another smashing X!

Since entry delivery and running the compos at X14 went quite smooth and voting is now done in realtime, we believe we may have room for 1 or 2 more (small/fun) c64 competitions. Like a PETSCII compo or a 4k compo, or maybe you guys have an idea?
Or perhaps you think the straightforward demo/music/gfx compos are enough.

Let us know :)
 
... 214 posts hidden. Click here to view all posts....
 
2016-02-27 19:54
lft

Registered: Jul 2007
Posts: 369
Quoting soci
I've just did a small research on the limited set of popular loaders I'm aware of.
...


Thanks for this breakdown! I wonder, when you state that a loader does checksums, are you referring to the serial transfer or just the process of reading a block from disk? Spindle does the checksumming on the C64 side, which captures both kinds of errors.
2016-02-27 20:23
enthusi

Registered: May 2004
Posts: 675
just curious, is the serial transfer ever likely to fail? That being said, a load of tap was shown live from tape with badass monitors degaussing left and right...
2016-02-27 20:51
soci

Registered: Sep 2003
Posts: 473
Only the GCR bitstream was randomly corrupted in the test. (~1 in 8000)

I assumed no-one would check the integrity between the drive and the c64, so I didn't even tried that.

I was wrong ;) This stuff is pretty advanced.
2016-02-27 21:28
soci

Registered: Sep 2003
Posts: 473
The "usual" failure mode for serial transfers of fastloaders is when there's not enough safety margin for asynchronous transfers.

If the oscillators are a bit more detuned or the serial cable is longer sampling may happen around the transition and not when the signals are stable.

I think there's also some timing difference with the C128DCR's 1571 which makes this worse. At least I remember I had to adjust the timing for that in the past when I still determined it by trial-and-error. But cycle counting gives more reliable results.
2016-02-28 05:16
ChristopherJam

Registered: Aug 2004
Posts: 1378
This just about calls for a new topic, but what sort of errors occur in the GCR stream in practice when using different drives?

Is it purely extra/missing zeros generated by gaps between polarity changes being too long/short, hence also throwing out the byte boundaries for the rest of the block? And how often does this tend to occur?
2016-02-28 09:02
Grue

Registered: Dec 2001
Posts: 146
Quote: Quoting soci
I've just did a small research on the limited set of popular loaders I'm aware of.
...


Thanks for this breakdown! I wonder, when you state that a loader does checksums, are you referring to the serial transfer or just the process of reading a block from disk? Spindle does the checksumming on the C64 side, which captures both kinds of errors.


Might be, but it does work with my 1541-II and 1541ultimate, but fails on Chameleon if using its external iec.
2016-02-28 14:30
nucleus

Registered: Feb 2002
Posts: 15
+1 256 bytes
+1 petscii
+1 wild

see you at x2016
2016-02-28 16:29
chatGPZ

Registered: Dec 2001
Posts: 11114
Quote:
I think there's also some timing difference with the C128DCR's 1571 which makes this worse.

yup. guess what loader has problems with it :)
2016-02-28 17:53
soci

Registered: Sep 2003
Posts: 473
Did a spot check on the Spindle 2.1 serial transfer timing, and this part seems to be the tightest (~1.4us).

Tracks were aligned so that STY $DD00 must finish before the end of BIT $1800 to get recognized. In the reverse direction STA $1800 needs to be finished 1us earlier(!) than the end of LDX $DD00 to get recognized. So that ~1.4us is even less...

But this is simulation only. Therefore I can't say if it's bad or not.
2016-02-28 20:10
lft

Registered: Jul 2007
Posts: 369
Good thing the serial transfer is checksummed then. =)

Actually, I think STY $dd00 must finish one cycle before the end of BIT $1800 in order to be picked up, so this would put us back at 1.4us. Do you have experimental data that indicates otherwise?

I could try to slow down the serial transfer routine, just to see how that affects the benchmarks. If it doesn't, perhaps it's better to be safe than sorry.

Related: When I was working on Shards of Fancy, and thus on a pre-1.0 version of Spindle, there was one point where everything would work perfectly on the 1541U and in Vice, but randomly fail on a real drive. Sometimes I would get lockups or random crashes roughly halfway through the demo, and of course I ran into this issue less than a week before the party was due.

It took a while to track down, but in hindsight it was obvious: If the sender changes two signals (say, Data and Clock) at the same time, they might not change simultaneously from the point of view of the recipient. In particular, the IEC bus works with pull-up resistors, such that a transition from high to low is going to be significantly quicker than a transition from low to high. So if the C64 changes 10 into 01 with a single store instruction, and the 1541 reads the corresponding register at the wrong time, it's going to read 11 (corresponding to low-low on the bus).

The problem is that this difference in timing isn't modeled by Vice, and on a 1541U with a minimal IEC-cable the signals appear to change quickly enough that the probability of this happening is negligible. So this was a case where the emulation was "too good", causing a very real bug to be hidden from developers.
Previous - 1 | ... | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 - 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
Guests online: 108
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Bromance  (9.6)
10 Memento Mori  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 MWS  (9.6)

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