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 > Holy Grails
2018-03-18 10:10
Krill

Registered: Apr 2002
Posts: 2804
Holy Grails

I've been wondering about them, with some having been finally discovered, others not yet, and some probably going to remain in the realm of the impossible forever.

I'm speaking of things like:
- 320x200x16 graphics without restrictions
- Crash-free all-direction hardware scrolling
- Digi replay of 8-bit samples at one register write per sample and without requiring cycle accuracy

on standard vanilla hardware, of course.

Some examples of discovered grails are:
- Cube rotating at 50 fps about 3 axes
- The 9th sprite (with some restrictions)
- On-the-fly standard GCR block read+decode+checksumming

As for definition, they all satisfy some measure of being perfect or optimal or being possible after all, with no further improvements required, possible or necessary. But i'm not so sure if that definition holds water with regard to some of the examples i listed. :D

The question is, what other Holy Grails are there, already discovered or still elusive?
What are your pet grails you've been chasing after for decades or have found eventually? :)
2018-03-18 10:44
Cruzer

Registered: Dec 2001
Posts: 1048
7 sprites over FLI.
2018-03-18 10:45
Krill

Registered: Apr 2002
Posts: 2804
And once that achievement is unlocked, 8 sprites? Or even 9? :)
2018-03-18 12:43
Oswald

Registered: Apr 2002
Posts: 5007
imho 8 bit digi replay was one of them, and got found. same goes for nufli, they are as good as it gets, and even in their todays form they were considered impossible for decades.

let me add a new one:

- realtime 3d world at bearable speed. Andropolis kind of managed it.
2018-03-18 16:16
ChristopherJam

Registered: Aug 2004
Posts: 1359
"3d world" and "bearable speed" are both very grey areas.

25fps 3/4 screen Wolfenstein map in 4 colours at multicolour resolution would perhaps be something more specific.

or perhaps "original Driller levels at 12.5fps for all view angles from every starting point and drill location"

The above are both still pretty arbitrary, mind.
2018-03-18 19:09
Glasnost
Account closed

Registered: Aug 2011
Posts: 26
I would add to the holy grails...

Rotating rasterbars (HCL)
Safe VSP (LFT)

Effectwise there are quite some both realised and unrealised..
I have been chasing one for a long time :)
2018-03-18 19:18
chatGPZ

Registered: Dec 2001
Posts: 11088
i wouldnt call rotating color cycling "rasterbars", but ok :)

true vertical rasterbars (in arbitrary colors) would be another. xbow found the closest (quite awesome) cheat i think.
2018-03-18 20:05
ptoing

Registered: Sep 2005
Posts: 271
Quote: imho 8 bit digi replay was one of them, and got found. same goes for nufli, they are as good as it gets, and even in their todays form they were considered impossible for decades.

let me add a new one:

- realtime 3d world at bearable speed. Andropolis kind of managed it.


NUFLI being "as good as it gets", is probably true, but sad imo, because it is not a fun mode to work in at all.

I don't think anything approaching 320x200x16 without restrictions is even remotely possible.
2018-03-18 20:06
Copyfault

Registered: Dec 2001
Posts: 466
A really interesting topic;) Let's see what people are willing to reveal.

Looking at the inital list, I think that
Quoting Krill
...
- Crash-free all-direction hardware scrolling
is more or less covered by lft's work on vsp's.

Being a gfx-mode-fanboy, I got stuck at
Quoting Krill
...
I'm speaking of things like:
- 320x200x16 graphics without restrictions
This could easily be divided into "subgrails" (or better "derived" grails;)), like
- "UFLIMAX" (as it was called in some thread once): 6 Sprites over FLI full 200 Rasterlines (+ interlace)
- FLI with open SB
- full HCB including the FLI-bug-columns

Those do not aim for a complete fullscreen fullcolour pixelmode; but for me, these are still gfx-mode grails (spend some time on them (among other modes), but I'm not quite *there* yet).
2018-03-18 20:10
Copyfault

Registered: Dec 2001
Posts: 466
Quoting Cruzer
7 sprites over FLI.

For NTSC: yes sure, let's take Ninja's routine
For PAL: SW-Sprite for teh win :)

Hmm, guess one can "prove" that 7 HW-Sprites over FLI is impossible... then again, what's the number of FLI-lines we're talking about ;) ?
2018-03-18 20:23
Copyfault

Registered: Dec 2001
Posts: 466
And the incredible

- full screen AGSP !including the Linecrunch-area!

should definitely be added to the list of found grails. Did not take a closer look on how it works, but I guess making it cooperate with MC mode could also be somewhat hard.

Last (but not least), there are still some games that were initially done on cart for which no pure disk version exists (Prince of Persia comes to mind). But I guess this is not the type of grails that's been asked for here, right?
2018-03-18 21:24
Krill

Registered: Apr 2002
Posts: 2804
Quoting Oswald
imho 8 bit digi replay was one of them, and got found
I have it on good authority (Hi Algorithm!) that a method to replay 8-bit samples with one write per sample and without stable raster requirement has not yet been found. 8-bit samples have existed using the PWM method for a long time, but only Soundemon's method made them sound good. :)

And for NUFLI et al., what ptoing says. Maybe there's still some wiggle room between that and the holy grail.

Safe VSP, well, it comes with a lot of restrictions which make it pretty unfeasible.

Quoting Copyfault
- full screen AGSP !including the Linecrunch-area
Where was that? I seem to have missed this demo.

And a 64K disk version of Prince of Persia would pretty much qualify for a holy grail. :)
2018-03-18 22:37
Oswald

Registered: Apr 2002
Posts: 5007
imho 8 bit PWM was like 256 (136) colors with interlace or dither. no1 ever took it seriously.

for me stable raster requirement doesnt cancels it, as a way to have 8 bit samples. Wonder why is it a deal breaker for you ? next up: side borders arent really removed until no stable timing is needed ? :P ;)
2018-03-18 23:02
algorithm

Registered: May 2002
Posts: 702
Quoting Krill
Quoting Oswald
imho 8 bit digi replay was one of them, and got found
I have it on good authority (Hi Algorithm!) that a method to replay 8-bit samples with one write per sample and without stable raster requirement has not yet been found. 8-bit samples have existed using the PWM method for a long time, but only Soundemon's method made them sound good. :)


Mahoneys method does allow single write to d418 (as well as censors d404 method, but both these require translation to the required values to output unless the actual sample data is pre-encoded with the data from the tables. In some cases (e.g mixing) this is not feasible. Holy grail would be single write, less jitter sensitive and without translation table. (I guess 4bit d418 is one ($00-$0f)) but higher bit resolution would be nice :-)
2018-03-19 00:15
chatGPZ

Registered: Dec 2001
Posts: 11088
Quote:
imho 8 bit PWM was like 256 (136) colors with interlace or dither. no1 ever took it seriously.

the censor guys (and perhaps not only them) would probably disagree with that
2018-03-19 19:12
Krill

Registered: Apr 2002
Posts: 2804
Quoting Oswald
for me stable raster requirement doesnt cancels it, as a way to have 8 bit samples. Wonder why is it a deal breaker for you ?
What algorithm says. 8-bit samples are all fine and dandy, but they could be even better with easy mixing and no extra lookup etc., not to speak of more spare cycles for stuff, with less jitter sensitivity. Good < better <<< Holy Grail. :)
2018-03-19 19:37
Krill

Registered: Apr 2002
Posts: 2804
Quoting Groepaz
Quote:
imho 8 bit PWM was like 256 (136) colors with interlace or dither. no1 ever took it seriously.

the censor guys (and perhaps not only them) would probably disagree with that
Yes, it was pretty revolutionary for the time, i think.

Also technically, PWM cannot be compared to visual interlace/dither/error diffusion, as it can perfectly recreate an original PCM signal. Things like Super Audio CD existed. :)
2018-03-19 20:38
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Quoting Oswald
for me stable raster requirement doesnt cancels it, as a way to have 8 bit samples. Wonder why is it a deal breaker for you ?
What algorithm says. 8-bit samples are all fine and dandy, but they could be even better with easy mixing and no extra lookup etc., not to speak of more spare cycles for stuff, with less jitter sensitivity. Good < better <<< Holy Grail. :)


9 sprites needs stable irq AND only every 2nd line can be used, AND sprites can be only shown at VERY specific x AND y coordinates AND border has to be removed to show all sprites.

"8-bit samples are all fine and dandy, but they could be even better"

yeah but that 9 sprites, that routine cant be any better ! :)



AFAIK. PWM always has that high pitch whine != perfect recreation of original.
2018-03-19 20:50
Krill

Registered: Apr 2002
Posts: 2804
Quoting Oswald
9 sprites needs stable irq AND only every 2nd line can be used, AND sprites can be only shown at VERY specific x AND y coordinates AND border has to be removed to show all sprites.
As i said in the initial post, the "definition" is somewhat loose, and YMMV.

Quoting Oswald
AFAIK. PWM always has that high pitch whine != perfect recreation of original.
'The PWM sampling theorem[7] shows that PWM conversion can be perfect. The theorem states that "Any bandlimited baseband signal within ±0.637 can be represented by a pulsewidth modulation (PWM) waveform with unit amplitude. The number of pulses in the waveform is equal to the number of Nyquist samples and the peak constraint is independent of whether the waveform is two-level or three-level."'
"DSD is 1-bit, has a sampling rate of 2.8224 MHz, and makes use of noise shaping quantization techniques in order to push 1-bit quantization noise up to inaudible ultrasonic frequencies."
2018-03-19 21:02
Oswald

Registered: Apr 2002
Posts: 5007
yes, definition is loose, and your list is highly subjective.

PWM, ofcourse I ment that int the context of c64 realisations.
2018-03-19 21:24
Krill

Registered: Apr 2002
Posts: 2804
Quoting Oswald
yes, definition is loose, and your list is highly subjective.
Indeed, and i asked from the start for people's own highly subjective holy grails.

Quoting Oswald
PWM, ofcourse I ment that int the context of c64 realisations.
And i said "technically", as in PWM in general. :)
2018-03-19 21:48
Joe

Registered: Apr 2002
Posts: 224
My subjective holy grail was to get coders to envision my rasterbars and sprite images in the border.
Still working on some of those ideas for future use, just as the $3fff images.
I think I reached a new personal level of low-fi hickups of quite nice results.
2018-03-19 22:50
Compyx

Registered: Jan 2005
Posts: 631
My personal holy grail is something that probably has been done before: A bitmap logo swinging using VSP + linecrunch and a multiplexed DYSP in the sideborder over that and a sideborder dycp as well.

Got pretty close many years ago coding with X-Byte, but we managed to get so many errors on the disk with the sources, we never managed to rescue the sources.

All this was early 90's, but I still want to do it.
2018-03-20 06:15
ChristopherJam

Registered: Aug 2004
Posts: 1359
Unrestricted 320x200x16 graphics simply cannot happen on vanilla hardware as there is not enough memory bandwidth; the most VIC can read per raster is 40x20 bits of characters+bitmap+colour ram, and 8*24 bits of sprite definitions; 992 bits in total, far shy of the 5120 bits that would be required to independently specify the colours of 320 pixels.

Something I would like to see though, is an AGSP paired with a general purpose sprite multiplexer, that is quite happy to have sprites leaving via the top border. No novel techniques would be required, just some fiddly coding. (There's a thread somewhere on this site with implementation ideas).
2018-03-20 08:07
Trash

Registered: Jan 2002
Posts: 122
Quoting Krill
Where was that? I seem to have missed this demo

Rocketry
2018-03-20 08:17
MagerValp

Registered: Dec 2001
Posts: 1055
Quoting ChristopherJam
Unrestricted 320x200x16 graphics simply cannot happen on vanilla hardware as there is not enough memory bandwidth; the most VIC can read per raster is 40x20 bits of characters+bitmap+colour ram, and 8*24 bits of sprite definitions; 992 bits in total, far shy of the 5120 bits that would be required to independently specify the colours of 320 pixels.


320 * 4 bpp = 1280 bits required. 40 * 12 + 8 * 24 = 672 bits available.
2018-03-20 08:19
AmiDog

Registered: Mar 2003
Posts: 97
Quoting algorithm
as well as censors d404 method

I'm curious, how does that method work?
2018-03-20 09:05
ChristopherJam

Registered: Aug 2004
Posts: 1359
Quote: Quoting ChristopherJam
Unrestricted 320x200x16 graphics simply cannot happen on vanilla hardware as there is not enough memory bandwidth; the most VIC can read per raster is 40x20 bits of characters+bitmap+colour ram, and 8*24 bits of sprite definitions; 992 bits in total, far shy of the 5120 bits that would be required to independently specify the colours of 320 pixels.


320 * 4 bpp = 1280 bits required. 40 * 12 + 8 * 24 = 672 bits available.


Neither of us can do arithmetic today.

You're right, 320x4bpp is 1280 required (think I must have multiplied by 16 earlier - oops)

available is 40x12 from the char attributes+color ram, +40x8 from the bitmap data fetch, + 8*24 from the sprites, = 992

so, it's closer than either of us thought...
2018-03-20 10:39
Repose

Registered: Oct 2010
Posts: 222
I'm still wondering how 160x200x16 is done in nufli player.

As for 320x200, I don't think unrestricted is so important, the statistics of most pictures doesn't need unrestricted.
2018-03-20 19:32
ptoing

Registered: Sep 2005
Posts: 271
NUFLI Player does 160x200x16? Unrestricted? That would be news to me.

EDIT: Oh, I understood that wrong I think.

I don't think you can do 160x200 nicely in NUFLI. It would make more sense if someone would just make a standard FLI player for something like that, or even an MCOL with sprites player.
2018-03-20 23:22
Repose

Registered: Oct 2010
Posts: 222
with REU you could change colour memory every cycle or 8 pixels, something like that should open up some possibilities.

The NUFLI talk
https://www.youtube.com/watch?v=bKk0m-GDFdc

and thread
http://csdb.dk/forums/?roomid=13&topicid=68273&showallposts=1
2018-03-21 06:09
ptoing

Registered: Sep 2005
Posts: 271
I don't think that memory is the bottleneck here, more like the processor architecture and stuff like badlines.

But I am not a programmer, just a somewhat technically minded artist. But just to look at NUFLI, in the main area (everything apart from the first 3 char columns and the last column), you can ONLY have 3 colours per 8x1 at most. In the last column you can only have 2, and in the first 3 you can sometimes have more than 3.

That is still pretty limited overall, esp since one of those colours is restricted to change only every 48 pixels and has widepixels.
2018-03-21 10:17
enthusi

Registered: May 2004
Posts: 674
A 320x200 x 5 (colors) would be sweet already.
Or even 4 colors.
2018-03-21 10:37
ChristopherJam

Registered: Aug 2004
Posts: 1359
Quote: A 320x200 x 5 (colors) would be sweet already.
Or even 4 colors.


Well, Hi5 gives you 96x200x5 colours..

(almost - you have to choose a pair from the 5 that never share a 2x1 cell)
2018-03-21 10:59
ptoing

Registered: Sep 2005
Posts: 271
Well, with screen covering x-expanded hires sprites you can have MCOL + 1 extra colour (or more if you want different sprite colours in different 48 pixel wide columns or something), so that is 160x200. Might be widepixels, but still higher res than 96x200.
2018-03-21 11:28
Conjuror

Registered: Aug 2004
Posts: 168
My personal holy grails were to create both the cylinder scrollers from the Amiga North Star Mega Demo II and the Amiga game Sword of Sodan intro's full screen width and height multi colour bitmap tech-tech. Can I just say Achievement unlocked!
2018-03-21 12:06
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Well, with screen covering x-expanded hires sprites you can have MCOL + 1 extra colour (or more if you want different sprite colours in different 48 pixel wide columns or something), so that is 160x200. Might be widepixels, but still higher res than 96x200.

used in desert dream before the rotzoom picture :)
2018-03-21 22:45
Stone

Registered: Oct 2006
Posts: 168
For me what always seemed like an impossible dream was to have a perspective correct Star Wars scroller running at 50 fps, but once I figured out a way to do it, it didn't seem such a big deal after all.
2018-03-22 19:52
Copyfault

Registered: Dec 2001
Posts: 466
Quoting Oswald
used in desert dream before the rotzoom picture :)
Checked this out lately after reading your post! Seems the mode you're using in this pic handles a mixture of Hires- and MC-Sprites, some x-expanded, some not.

This explains why this picture looked so great in the demo!
2018-03-22 19:58
Copyfault

Registered: Dec 2001
Posts: 466
Quoting Trash
Quoting Krill
Where was that? I seem to have missed this demo

Rocketry
Thanks for pointing. Wanted to give the link in this very moment but - voila, it's already there.

That's the C64-scene :)
2018-03-22 20:33
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Quoting Oswald
used in desert dream before the rotzoom picture :)
Checked this out lately after reading your post! Seems the mode you're using in this pic handles a mixture of Hires- and MC-Sprites, some x-expanded, some not.

This explains why this picture looked so great in the demo!


ah, I was not directly involved with this part, all I remembered is the idea to cover it with x-expanded hires sprites. the goal was to make it look better, but memory efficiently (no fli). then the guys took this even further (clarence+leon)
2018-03-24 08:53
Peiselulli

Registered: Oct 2006
Posts: 81
Double buffered color ram was something I missed back in the days I was programming games. But already solved : Double buffering color ram in half of the screen?
2018-03-24 09:22
Peacemaker

Registered: Sep 2004
Posts: 243
self writing code pieces (1/7 of 1) every frame into final result for speedcode (lda #01 ; sta $d800 etc) for next "move". could be even improved, as cruzer suggested, to only change (store) colors that change.

the half page fld trick would make a nice raytrace part with .. hmm. 10+ frames in bitmap mutlticolor with screen and colorram too (copy). was thinking about such a part for years, but its rather lame anyhow.
2018-03-24 10:13
Rastah Bar

Registered: Oct 2012
Posts: 336
How about things like executable gfx/music? Or self-modifying self-modifying ... code?
2018-03-24 10:38
Copyfault

Registered: Dec 2001
Posts: 466
Quoting Peiselulli
Double buffered color ram was something I missed back in the days I was programming games. [...]
Was this really never done "back in teh days" for games? I remember us (TOM) being proud of adding it to the ILM gfx mode (around 1995??); after all, it's just
                  40 chars * 25 charlines * 4 cycles   | for STA/SAX/S??
                +                          16 cycles   | for LDX/INX/LDwhatever
                =                        4016 cycles   | for the whole screen
=>
4016 / 63      ~= 64 rasterlines, preferably in lowerborder
Guess you neither have the memory nor the amount of cycles in the lower border part (approx. 58% of the upper/lower-border) if you want to do some serious game engine. Just wondering..
2018-03-24 12:09
Peiselulli

Registered: Oct 2006
Posts: 81
This approach is a little bit too static. What do you do if the color configuration changes (e.g char animation with partial color replacements) ? Then you have in bad circumstances to recalculate your complete speed code. For simple tasks like fading it is OK, but not for more complex situations.
2018-03-24 12:24
TheRyk

Registered: Mar 2009
Posts: 2035
Quote: How about things like executable gfx/music? Or self-modifying self-modifying ... code?

self-modifying self-modifying shouldn't be very rare, just thinkj of EORing something like DEC to INC and back

executable music: certain rips in HVSC, especially the digi/sample files that come with their own IRQ build inside the init, do weird stuff if you launch them, e.g. if you load this SID-File
Aurora Remix
(without header of course) to $1400 and enter SYS5376, the timerIRQ also opens top/bottom borders :)
2018-03-24 17:01
enthusi

Registered: May 2004
Posts: 674
Smbfhb by Robert & Lotsch
Check out what this actually does!
2018-03-24 20:05
Rastah Bar

Registered: Oct 2012
Posts: 336
Cool stuff. But what I was thinking of: suppose you have some runnable code in memory and you point screen memory, character memory, or sprite pointers to it, that it then actually shows a nice pattern or image instead of something unrecognizable. In other words: the numbers in memory are code and graphics at the same time.
2018-03-24 20:18
Peacemaker

Registered: Sep 2004
Posts: 243
Quote: Cool stuff. But what I was thinking of: suppose you have some runnable code in memory and you point screen memory, character memory, or sprite pointers to it, that it then actually shows a nice pattern or image instead of something unrecognizable. In other words: the numbers in memory are code and graphics at the same time.

and why would someone do that? to save memory? :)
2018-03-24 20:30
Rastah Bar

Registered: Oct 2012
Posts: 336
Yes, or for the fun of it.
2018-03-24 20:31
Peacemaker

Registered: Sep 2004
Posts: 243
reminds me of using the colorram for code /o\
=)
2018-03-24 21:31
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Cool stuff. But what I was thinking of: suppose you have some runnable code in memory and you point screen memory, character memory, or sprite pointers to it, that it then actually shows a nice pattern or image instead of something unrecognizable. In other words: the numbers in memory are code and graphics at the same time.

the 2 color hires image, extending to top/bottom border in risen from oblivion is exactly that :)
2018-03-25 08:58
Rastah Bar

Registered: Oct 2012
Posts: 336
Awesome! We all have ideas like this, but actually pulling it off is brilliant!
2018-03-25 09:04
Oswald

Registered: Apr 2002
Posts: 5007
its a bit cheating. using c128 2mhz mode, vicII will read what cpu has read in every 2nd cycle so code is just lda #gfxbyte lda #gfxbyte..
2018-03-25 09:43
Copyfault

Registered: Dec 2001
Posts: 466
Quote: its a bit cheating. using c128 2mhz mode, vicII will read what cpu has read in every 2nd cycle so code is just lda #gfxbyte lda #gfxbyte..

Now this truly qualifies for a holy grail: doing that awesome code2gfx-mode on c64 vanilla platform:)

Another one would be

- finding a use for the D016-Resetbit (D016.Bit5)
2018-03-25 09:58
oziphantom

Registered: Oct 2014
Posts: 478
Quoting Oswald
its a bit cheating. using c128 2mhz mode, vicII will read what cpu has read in every 2nd cycle so code is just lda #gfxbyte lda #gfxbyte..


Yeah the trick is working out if you are on a Phi 1 or 2 cycle ;) I think the Oblivion demo already does it though..
2018-03-25 14:26
chatGPZ

Registered: Dec 2001
Posts: 11088
Quote:
finding a use for the D016-Resetbit (D016.Bit5)

that doesnt have any effect, except on the VIC used in very early MAX machines iirc
2018-03-25 16:00
Copyfault

Registered: Dec 2001
Posts: 466
Groepaz: maybe there's that specific cycle where *teh* magic happens when clearing and resetting the reset bit - probability is for sure close to 0, but nobody did ever test through all vic-relevant cycles I guess ;)
2018-03-25 16:44
chatGPZ

Registered: Dec 2001
Posts: 11088
find it out :)
2018-03-25 17:40
Iapetus/Algarbi/Wood

Registered: Dec 2004
Posts: 71
For me the grail would be a "fast" 3d game using an engine similar to that one of Andropolis.
2018-03-25 21:00
Ninja

Registered: Jan 2002
Posts: 404
My personal holy grail was surely 6 sprites over FLI. Once I designed the timing and understood it was technically possible, it was "just" finding the magic opcodes to match all these conditions imposed by the method. But I knew this was a super-rare chance to steal a VIC-based record from Crossbow. That was a dream since I learned from his effects in the early 90s. And I knew that 6 would be the ultimate upper limit, so it would be eternally my record!

Ah, great times of sitting in a train to my girlfriend with just pencil & paper trying to solve what HCL rightfully named FLI-sudoku later. That took me a while but it was all worth it.

Feels great to have found a holy grail :D
2018-03-25 21:37
Mixer

Registered: Apr 2008
Posts: 418
One holy grail would be a tool, perhaps a compiler, that can interleave assembler code. Basically what interrupt does, but in a source code pre processor that can count cycles and generate interleaved source.
2018-03-25 22:00
Krill

Registered: Apr 2002
Posts: 2804
Quoting Mixer
One holy grail would be a tool, perhaps a compiler, that can interleave assembler code. Basically what interrupt does, but in a source code pre processor that can count cycles and generate interleaved source.
I seem to remember Jackasser talking about something like that. Pretty sure he's used it in some productions of his. And also pretty sure he wasn't the only one. :)
2018-03-25 22:25
Ninja

Registered: Jan 2002
Posts: 404
Quote: Quoting Mixer
One holy grail would be a tool, perhaps a compiler, that can interleave assembler code. Basically what interrupt does, but in a source code pre processor that can count cycles and generate interleaved source.
I seem to remember Jackasser talking about something like that. Pretty sure he's used it in some productions of his. And also pretty sure he wasn't the only one. :)


S:T Lars Meeting III - Invite

Source included. Not a generic compiler, though, but still...
2018-03-25 22:47
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: S:T Lars Meeting III - Invite

Source included. Not a generic compiler, though, but still...


Thanks for mentioning. This one interleaves two streams of assembly; one with timimg constraints. It track register usage on both streams and interleaves them while keeping the timing constraints. I.e. a speedcode/rastercode source multiplexer.
2018-03-25 23:11
Oswald

Registered: Apr 2002
Posts: 5007
Jacky, thats crazy, didnt know about that one. I often dreamed about this too, and its done since a decade ? :)
2018-03-26 09:06
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: Jacky, thats crazy, didnt know about that one. I often dreamed about this too, and its done since a decade ? :)

Sorry.. ;)
2018-03-26 09:18
Mixer

Registered: Apr 2008
Posts: 418
Quote: Thanks for mentioning. This one interleaves two streams of assembly; one with timimg constraints. It track register usage on both streams and interleaves them while keeping the timing constraints. I.e. a speedcode/rastercode source multiplexer.

Excellent. 16khz synthesized sounds incoming.....
2018-03-26 10:08
Bubis
Account closed

Registered: Oct 2012
Posts: 10
I would add "free-rotating tunnel" to the list. :)
2018-03-26 11:12
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: I would add "free-rotating tunnel" to the list. :)

Yeah! FD-tunnel. I think Oswalds 8x8 attempt is the closest so far
2018-03-26 12:39
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Yeah! FD-tunnel. I think Oswalds 8x8 attempt is the closest so far

that's by Bubis, and in 4x4 :)
2018-03-26 18:35
Krill

Registered: Apr 2002
Posts: 2804
Quoting Oswald
that's by Bubis, and in 4x4 :)
Not calculated to 8x8 and then interpolated to 4x4? =)
2018-03-26 18:49
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Quoting Oswald
that's by Bubis, and in 4x4 :)
Not calculated to 8x8 and then interpolated to 4x4? =)


exactly.
2018-03-26 22:09
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: that's by Bubis, and in 4x4 :)

Oh, sorry Bubis! :D
2018-03-27 09:42
CreaMD

Registered: Dec 2001
Posts: 3034
True Hires/MultiColor bitmap split (without visible gaps to cover bugs) / text wrap around images. Counts as a holy grail to me. See the animated gif screenshot for what I mean.

Dawn #1
2018-03-27 10:37
Oswald

Registered: Apr 2002
Posts: 5007
graffity did mcol and gfxmode split way earlier than this.
2018-03-27 11:58
Krill

Registered: Apr 2002
Posts: 2804
Maybe Holy Grails and world-firsts aren't quite the same thing. :)
2018-03-27 12:02
Oswald

Registered: Apr 2002
Posts: 5007
btw VIC does some weird stuff when changing from mc to hires, or when making gaps with d016, anyone ever used those? holy grail :)
2018-03-27 12:35
Krill

Registered: Apr 2002
Posts: 2804
I think Crossbow used something like that to have more than 320 pixels worth of char/bitmap graphics per rasterline.
2018-03-27 13:23
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: btw VIC does some weird stuff when changing from mc to hires, or when making gaps with d016, anyone ever used those? holy grail :)

Some of the mode bits are delays 2 or 4 pixels due to implementation details in the very undocumented pixel pipeline. I did a fair share of assumtions when coding my emu.
2018-03-27 14:34
Walt

Registered: May 2004
Posts: 47
d016 gaps used greatly in the endpart of Mentallic - initially mistaken for 9 sprites :)
2018-03-27 16:22
CreaMD

Registered: Dec 2001
Posts: 3034
Quote: graffity did mcol and gfxmode split way earlier than this.

Of course. There were many multi/hires splits in past, but I have never seen one that didn't have some kind of overlay over the split to cover bugs. Also I don't remember I have ever seen more than one vertical split per charline. Could you provide link and part where I can check, or screenshot? Unless I'm proven wrong I believe, that Wotnau's splits are something that has never been done before. And if nothing else, Dawn engine is a holy grail of illustrated disk mag engines ;-))))
2018-03-27 16:30
Oswald

Registered: Apr 2002
Posts: 5007
d016 hires / multi split without bugs is nothing impossible. maybe 1 char needed to left empty if switch is delayed by a few pixels as Jacky explains. The main complexity is on the fly speedcode generator for the split in Wotnau's case.
2018-03-27 17:01
Copyfault

Registered: Dec 2001
Posts: 466
Quoting Oswald
that's by Bubis, and in 4x4 :)
Could someone tell me in which demo/release this 4x4-tunnel can be found? Thx!
2018-03-27 17:08
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Quoting Oswald
that's by Bubis, and in 4x4 :)
Could someone tell me in which demo/release this 4x4-tunnel can be found? Thx!


error 23, the blue tunnel.
2018-03-27 17:13
Copyfault

Registered: Dec 2001
Posts: 466
Quoting Oswald
error 23, the blue tunnel.
Ah in E23! Thanks!!
2018-03-27 17:16
Rastah Bar

Registered: Oct 2012
Posts: 336
Quoting Krill
I think Crossbow used something like that to have more than 320 pixels worth of char/bitmap graphics per rasterline.

Which demo is that? Could it be combined with displaying 26 char rows?

How about machine learning stuff? F.e. games with enemies that become better over time. (Not that most games aren't already challenging enough ...)
2018-03-27 17:18
Copyfault

Registered: Dec 2001
Posts: 466
Another holy grail for me (which is already found):
- JPG decoding on C64 (like in Juddpeg)

As I'm really far off from anything concerning SID/music coding, I'm wondering if there's even a faint chance of
- MP3 decoding on C64

in the same way as that JPEG-decoder, i.e. reading in a real mp3-file, maybe doing some pre-rendering stuff (but only on the real thing/vanilla hw) and then playing the music.

Afaik there are hw solutions, but a pure sw solution I know not -> holy grail for me ;)
2018-03-27 21:21
Oswald

Registered: Apr 2002
Posts: 5007
sure c64 can do anything, given you give it enough time, and backstorage :)
2018-03-27 21:41
Frantic

Registered: Mar 2003
Posts: 1626
Drone Processor Preview uses machine learning of the Genetic Programming variety. It was never finished though.
2018-03-27 22:29
CreaMD

Registered: Dec 2001
Posts: 3034
Quote: d016 hires / multi split without bugs is nothing impossible. maybe 1 char needed to left empty if switch is delayed by a few pixels as Jacky explains. The main complexity is on the fly speedcode generator for the split in Wotnau's case.

Yeah you can explain it. Congratulations. Can you please provide some links of Graffity or other group demos? Thanx
2018-03-27 23:53
Oswald

Registered: Apr 2002
Posts: 5007
Quote: Yeah you can explain it. Congratulations. Can you please provide some links of Graffity or other group demos? Thanx

I can even show you, splitting d016 happens naturally without bugs:



what was hard is, to code the code generator, that will generate speedcode for the article pages, that will do the splits as needed.


Justintime
2018-03-28 06:32
CreaMD

Registered: Dec 2001
Posts: 3034
As I expected I see one split. But I must admit it looks perfect so you've got point there.
2018-03-28 07:07
Peacemaker

Registered: Sep 2004
Posts: 243
https://drive.google.com/file/d/1VyaY2luU1nuDQj3K4RfE9O_xMgMbrs..

4 d016 splits. no rocket science =)
the problem with d016 splits is ofcourse the badline. a way to avoiding is using d011.
2018-03-28 07:17
Oswald

Registered: Apr 2002
Posts: 5007
the font in that diskmag cleverly avoids bad lines.

Roman, splitting d016 is as hard as d021, with which even scrollers has been done.

Kudos for Wotnau for incorporating this into a diskmag, not easy feat at all, but its not a holy grail :)
2018-03-28 07:20
Peacemaker

Registered: Sep 2004
Posts: 243
indeed. oswald ist right.
a 7 pixel high char = no badline problem.
2018-03-28 10:39
ChristopherJam

Registered: Aug 2004
Posts: 1359
Not stock hardware, but I was quite pleased to implement a completely unrestricted 36x200 multicolour resolution mode for c64+REU in 2015

I'm reasonably confident that 36 pixels is the maximum width attainable, but would be fascinated if anyone managed to either beat that or provide a formal proof that I'm correct.
2018-03-28 10:56
ptoing

Registered: Sep 2005
Posts: 271
What was the setup for that, Christopher?
2018-03-28 11:56
ChristopherJam

Registered: Aug 2004
Posts: 1359
Seven sprites over a ten character wide FLI area.

One multicolour sprite covers character columns 1-3, another covers character columns 6-8.

The other five sprites are hires and x-expanded, three covering character columns 1-6 and the remaining two covering columns 3-8.

d021 and d800 are constant for the entire screen, but each line an REU transfer sets nine new sprite colours, and a VIC DMA fetches two colours per 4x1 pixel area. Characters 0 and 9 only use two pixels each, so those are covered by the VIC DMA.

An offline image converter finds the optimal colour register allocation for each line using a recursive search algorithm. Hasn't failed yet…
2018-03-28 12:09
ptoing

Registered: Sep 2005
Posts: 271
That's pretty clever. Good stuff.
2018-03-28 12:17
ChristopherJam

Registered: Aug 2004
Posts: 1359
Thanks :)
2018-03-28 14:13
ptoing

Registered: Sep 2005
Posts: 271
I take it that the 2 mcol sprites of course use the same 2 fixed colours per line? So they would provide 4 colours total, to each line at most.
2018-03-28 15:55
ChristopherJam

Registered: Aug 2004
Posts: 1359
Correct. Each column has access to between five and eight sprite colours; here's a chart:
+----------+---------------+
|          |1 2 3 4 5 6 7 8|
+----------+---------------+
|  $d025   |X X X     X X X|
|  $d026   |X X X     X X X|
|  $d027   |X X X X X X    |
|  $d028   |X X X X X X    |
|  $d029   |X X X X X X    |
|  $d02a   |    X X X X X X|
|  $d02b   |    X X X X X X|
|  $d02c   |X X X          |
|  $d02d   |          X X X|
+----------+---------------+
2018-03-28 16:01
Krill

Registered: Apr 2002
Posts: 2804
*** ChristopherJam invokes Godwin's Law
*** Topic closed
2018-03-28 16:04
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: *** ChristopherJam invokes Godwin's Law
*** Topic closed


ROFL!
2018-03-28 16:10
ChristopherJam

Registered: Aug 2004
Posts: 1359
HAHAHAHAHA

Dammit, I did think about swapping the last two lines (more of a diagonal stripe that way), but wanted to stay faithful to the allocation Reutastic actually used…
2018-03-28 16:15
CreaMD

Registered: Dec 2001
Posts: 3034
"rocket science", "easy as d021". Yeah "After wit is everybody's wit."
2018-03-28 17:38
Golara
Account closed

Registered: Jan 2018
Posts: 212
I see every post of Christopher as <message ignored>. What does it mean ?
2018-03-28 18:55
algorithm

Registered: May 2002
Posts: 702
You accidently clicked on "ignore all posts from this user". You can revert back to previous somewhere in userpage I think
2018-03-28 20:14
Golara
Account closed

Registered: Jan 2018
Posts: 212
Thx. A holy grail.. A small one just for me cuz I'm still lame, would be a full screen including borders agsp with normal resolution, no giant pixels and 4 colors only like in Totally Stoned 2 by Booze
2018-03-28 20:22
JackAsser

Registered: Jun 2002
Posts: 1987
Quote: Thx. A holy grail.. A small one just for me cuz I'm still lame, would be a full screen including borders agsp with normal resolution, no giant pixels and 4 colors only like in Totally Stoned 2 by Booze

Well, that’s not a holy grail, that is Amiga
2018-03-28 20:33
Golara
Account closed

Registered: Jan 2018
Posts: 212
Quote: Well, that’s not a holy grail, that is Amiga

maybe to make it more reasonable I'd leave out the top and bottom and the crunch area blank, just add the graphics in the sideborders. I don't know how many sprites can you have on a bad line with sideborders open though. Actually, having a multicolor bitmap without badlines and sideborder sprites (like in last part of Time Machine) scrolling in all direction... has this been done before ?
2018-04-04 03:28
Cruzer

Registered: Dec 2001
Posts: 1048
A demo where you can set it in warp mode, even if it runs on real hardware.
2018-04-04 07:16
Bob

Registered: Nov 2002
Posts: 71
I just did one ;)
Zooming Definer Ball ;) (Bouncy)

now I shall read up here and perhaps do some of them 8)=)
2018-07-02 20:58
Digger

Registered: Mar 2005
Posts: 420
Multicolour ECM or legalling $d011's illegal mode.
2018-07-02 21:38
Raistlin

Registered: Mar 2007
Posts: 548
A full-screen diagonally scrolling and repeating bitmap...?
2018-07-02 22:24
Compyx

Registered: Jan 2005
Posts: 631
Well, you're too late for that, somebody already did that in a recent demo, and it looked awesome :)
2018-07-02 23:01
Oswald

Registered: Apr 2002
Posts: 5007
50 fps 160x200 plasma ? and not made of huge lego sized squares ? and more than 4 colors ?:P
2018-07-02 23:51
Raistlin

Registered: Mar 2007
Posts: 548
The 160x200 plasma is definitely very nice - great job there :-)
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
Genius/Xenon
t0m3000/ibex-crew
Brittle/Dentifrice^(?)
Andy/AEG
Mason/Unicess
iAN CooG/HVSC
Rutterkin
psych
Guests online: 364
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 No Bounds  (9.6)
6 Comaland 100%  (9.6)
7 Uncensored  (9.6)
8 The Ghost  (9.6)
9 Wonderland XIV  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 Party Elk 2  (9.7)
2 Cubic Dream  (9.6)
3 Copper Booze  (9.5)
4 Rainbow Connection  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Onscreen 5k  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Nostalgia  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

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