Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user zorreun ! (Registered 2025-05-15) You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Release id #252090 : Signal Carnival
2025-04-23 00:13
Krill

Registered: Apr 2002
Posts: 3065
Release id #252090 : Signal Carnival

Quote:
The highest frequency the chip can output is 3906Hz, which is the equivalent of changing the video output every four rasterlines.
Similar with ADSR, for which the smallest possible configurable attack time is 2 ms, so about 32 rasterlines.

But thankfully, there's also circuitry that is wired more directly and and gives instant output: the volume register ($d418)!
This has been used in the past to generate samples at high frequencies (16+ khz), and is a good choice for generating video, as well.
I was surprised that there isn't even a mention of pulse-width modulation. Did that turn out to be entirely unusable for the purposes of this demo?

Quote:
Talking about GCR decoding, I found it tedious to handcode the decoding tables, so we instead wrote a solver that generates them given the code that uses the tables, and the desired input/output.
Interesting! I wrote a couple of those GCR table Tetris generators/solvers as well, but all of them were rather special purpose, and most of them went nowhere. Never saw any obvious route of how them make them somewhat generic.

Also, i see more adds than shifts in the read+decode loop. Could it be you applied something like i outlined in Bitwise GCR decoding based on reordered GCR mappings and such?
 
... 3 posts hidden. Click here to view all posts....
 
2025-04-24 22:34
Burglar

Registered: Dec 2004
Posts: 1129
would it be possible to drive the video with 2 sids so u get color too?
2025-04-24 22:57
chatGPZ

Registered: Dec 2001
Posts: 11499
C64 isnt fast enough for that, for color you need to frequency-modulate a 4.4somethingMHz signal. Its barely fast enough to produce those bars in b/w :)
2025-04-25 01:27
Quiss

Registered: Nov 2016
Posts: 52
Quote:

Okay, so you're using $d418 "samples" to force a DC bias in the output stage


Exactly. Rectangle waveform, pulse width of 0. All three voices.
Volume 0 then gives me +0V, and volume 15 ~ +0.6V.

Voltage of volumes 0-7 is so low that they trigger h/v syncs. So indeed I only use volume 8-15.

Quote:

And wouldn't this work _on top_ of waveforms, too?


You could have one voice do a waveform, and the other two pull the signal into the positive voltage range.

One thing I didn't get around to is a "loading" part (e.g. the black screen at 2:07 is a bit too long for my taste).
I don't bitbang the video signal during loading. But it would have been feasible to set up some kind of waveform (at the start of each frame) that draws some basic rasterlines. Maybe just a scrolling triangle wave, or some such thing.

Quote:

(How is that "plasma" on the X-rotator done?)


It's all bitbanged. On every rasterline, I alternate writes of $0f and $08-$0f (depending on brightness) at different cycles. Here's a frame of the non-blurred version:

http://www.quiss.org/files/tsbar.png

Quote:

I was thinking of pulse-width modulation, as in having the CPU change square wave pulse width or duty cycles at high frequency - PWM samples at 7.8 KHz (2 lines) or higher have been done, ofc.


You can do that. You'd want to restart the waveform (set and reset the test bit) at the start of every rasterline, and that would then give you the ability to have the hardware change the voltage in the middle of the line, with the transition point determined by the pulse width.
You wouldn't be able to control the two voltages independently.
So not sure this would offer any benefits compared with the "brute force" solution: Write $d418, wait k cycles, write $d418, wait n-k cycles.

Quote:

Which benefits does the 1 KB block buffer in Signal Carnival's custom loader give?


I don't (pre)load while parts are running, I only load in between parts. So it helps if the drive has already something ready to be transferred by the time the C64 triggers loading. Some of the smaller parts (like the plasma) actually completely fit into 1kb. I always transfer exactly 256 bytes per frame, so that'll mean four frames of transfer, and then decrunching.

For the larger parts, the numbers I pulled say that for many parts, 1 kb buffer makes for shorter loading times than 0.75kb, as well. But since the loading times are heavily influenced by where on the track we happen to be at the start of loading and after track changes, those numbers are to be taken with a grain of salt.
2025-04-26 20:47
TheRyk

Registered: Mar 2009
Posts: 2433
I was also too lazy as of yet and a little too coward to try it here on real CRT. Now I read:
Quoting 'Jammer in Comments'
User Comment
Submitted by Jammer [PM] on 26 April 2025
I can only warn that Bitfunx Retroscaler doesn't like it and I probably fucked it for good but that's on me xD

My idea was using an old real CRT monitor (would not risk my very best Trinitron but a small studio JVS).
What do the hardware gurus say...
a) Can do no harm
or
b) Don't try this at home

@Jammer: Would be interesting if you did hotplugging or turned off power before you toasted your hardeare
2025-04-27 02:50
chatGPZ

Registered: Dec 2001
Posts: 11499
It shouldn't be a problem for either - as long as the voltages are within range (and they are) and the frequencies too (they are) there is no problem at all.
2025-04-27 07:47
Krill

Registered: Apr 2002
Posts: 3065
Quoting chatGPZ
It shouldn't be a problem for either - as long as the voltages are within range (and they are) and the frequencies too (they are) there is no problem at all.
I'd turn off the monitor if there's no picture to be seen for a certain time.

Some monitors really don't like to be syncless for extended periods of time. (Should be in the minutes to maybe hours range, but still.)
2025-04-27 11:53
tlr

Registered: Sep 2003
Posts: 1802
Quoting TheRyk
I was also too lazy as of yet and a little too coward to try it here on real CRT. Now I read:
Quoting 'Jammer in Comments'
User Comment
Submitted by Jammer [PM] on 26 April 2025
I can only warn that Bitfunx Retroscaler doesn't like it and I probably fucked it for good but that's on me xD

My idea was using an old real CRT monitor (would not risk my very best Trinitron but a small studio JVS).
What do the hardware gurus say...
a) Can do no harm
or
b) Don't try this at home

@Jammer: Would be interesting if you did hotplugging or turned off power before you toasted your hardeare

If anything, I'd be scared of breaking the SID if hot plugging the audio output into a monitor. The RCA plugs are quite evil in the sense that the ground gets connected last when hot plugging them.
2025-04-27 16:21
chatGPZ

Registered: Dec 2001
Posts: 11499
Quote:
Some monitors really don't like to be syncless for extended periods of time.

Thats news to me. You can damage (old, analog) monitors by feeding them too high frequencies - but no sync? what would be the problem there? sounds like a myth to me :)
Quote:
If anything, I'd be scared of breaking the SID if hot plugging the audio output into a monitor.

yes! this is much more likely to happen. killed a SID like that myself before :(
2025-04-27 17:08
Jammer

Registered: Nov 2002
Posts: 1343
Quote:
@Jammer: Would be interesting if you did hotplugging or turned off power before you toasted your hardeare

Converter actually survived! xD After approx. hour or less it started working again. I cannot even list what I did in order as I acted like total random idiot xD Can only tell, my cable outs S-Video video and 2xRCA audio, both of which I hotplugged to literary every converter input available. If it might hint anything, Bitfunx Retroscaler2x without anything plugged in displays test colour bars and after my antics they were riddled with evenly spaced black lines which disappeared after I let converter rest. Assumption is that it wasn't any analogue/circuitry trouble but software/firmware which needed to reset states, probably.
2025-04-27 19:11
chatGPZ

Registered: Dec 2001
Posts: 11499
Sure it didnt just detect something weird, went into WTF state... and basically just required a powercycle? :)
Previous - 1 | 2 - 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
TCE/Hokuto Force
tlr
pcollins/Quantum
Asphodel
JonEgg
Skleptoid
Icon/TRIAD
New Design/Excess
Hydrogen/Glance
Aomeba/Artline Desig..
Guests online: 305
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Coma Light 13  (9.6)
5 Mojo  (9.6)
6 Signal Carnival  (9.6)
7 Edge of Disgrace  (9.6)
8 Comaland 100%  (9.6)
9 Uncensored  (9.6)
10 The Trip  (9.6)
Top onefile Demos
1 Nine  (9.8)
2 Keine Termine und le..  (9.7)
3 Layers  (9.6)
4 Cubic Dream  (9.6)
5 Party Elk 2  (9.6)
6 Copper Booze  (9.5)
7 Charflasher  (9.5)
8 Onscreen 5k  (9.5)
9 Libertongo  (9.5)
10 Dawnfall V1.1  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Censor Design  (9.2)
5 Artline Designs  (9.2)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Stormbringer  (9.7)
3 Fungus  (9.7)
4 Booze  (9.5)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.064 sec.