| |
Krill
Registered: Apr 2002 Posts: 2982 |
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? :) |
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
7 sprites over FLI. |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
And once that achievement is unlocked, 8 sprites? Or even 9? :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
"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. |
| |
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 :) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11392 |
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. |
| |
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. |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
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). |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Quoting Cruzer7 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 ;) ? |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
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? |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting Oswaldimho 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. :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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 ;) |
| |
algorithm
Registered: May 2002 Posts: 705 |
Quoting KrillQuoting Oswaldimho 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 :-) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11392 |
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 |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting Oswaldfor 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. :) |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting GroepazQuote: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. :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: Quoting Oswaldfor 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. |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting Oswald9 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 OswaldAFAIK. 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." |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
yes, definition is loose, and your list is highly subjective.
PWM, ofcourse I ment that int the context of c64 realisations. |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting Oswaldyes, 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 OswaldPWM, ofcourse I ment that int the context of c64 realisations. And i said "technically", as in PWM in general. :) |
| |
Joe
Registered: Apr 2002 Posts: 229 |
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. |
| |
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. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
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). |
| |
Trash
Registered: Jan 2002 Posts: 122 |
Quoting KrillWhere was that? I seem to have missed this demo
Rocketry |
| |
MagerValp
Registered: Dec 2001 Posts: 1078 |
Quoting ChristopherJamUnrestricted 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. |
| |
AmiDog
Registered: Mar 2003 Posts: 97 |
Quoting algorithmas well as censors d404 method
I'm curious, how does that method work? |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Quote: Quoting ChristopherJamUnrestricted 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... |
| |
Repose
Registered: Oct 2010 Posts: 227 |
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. |
| |
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. |
| |
Repose
Registered: Oct 2010 Posts: 227 |
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 |
| |
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. |
| |
enthusi
Registered: May 2004 Posts: 677 |
A 320x200 x 5 (colors) would be sweet already.
Or even 4 colors. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
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) |
| |
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. |
| |
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! |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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 :) |
| |
Stone
Registered: Oct 2006 Posts: 172 |
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. |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Quoting Oswaldused 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! |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Quoting TrashQuoting KrillWhere 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 :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: Quoting Oswaldused 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) |
| |
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? |
| |
Peacemaker
Registered: Sep 2004 Posts: 275 |
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. |
| |
Rastah Bar Account closed
Registered: Oct 2012 Posts: 336 |
How about things like executable gfx/music? Or self-modifying self-modifying ... code? |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Quoting PeiselulliDouble 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.. |
| |
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. |
| |
TheRyk
Registered: Mar 2009 Posts: 2270 |
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 :) |
| |
enthusi
Registered: May 2004 Posts: 677 |
Smbfhb by Robert & Lotsch
Check out what this actually does! |
| |
Rastah Bar Account closed
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. |
| |
Peacemaker
Registered: Sep 2004 Posts: 275 |
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? :) |
| |
Rastah Bar Account closed
Registered: Oct 2012 Posts: 336 |
Yes, or for the fun of it. |
| |
Peacemaker
Registered: Sep 2004 Posts: 275 |
reminds me of using the colorram for code /o\
=) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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 :) |
| |
Rastah Bar Account closed
Registered: Oct 2012 Posts: 336 |
Awesome! We all have ideas like this, but actually pulling it off is brilliant! |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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.. |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
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) |
| |
oziphantom
Registered: Oct 2014 Posts: 490 |
Quoting Oswaldits 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.. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11392 |
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 |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
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 ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11392 |
find it out :) |
| |
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. |
| |
Ninja
Registered: Jan 2002 Posts: 411 |
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 |
| |
Mixer
Registered: Apr 2008 Posts: 455 |
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. |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting MixerOne 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. :) |
| |
Ninja
Registered: Jan 2002 Posts: 411 |
Quote: Quoting MixerOne 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... |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
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. |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Jacky, thats crazy, didnt know about that one. I often dreamed about this too, and its done since a decade ? :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Jacky, thats crazy, didnt know about that one. I often dreamed about this too, and its done since a decade ? :)
Sorry.. ;) |
| |
Mixer
Registered: Apr 2008 Posts: 455 |
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..... |
| |
Bubis Account closed
Registered: Oct 2012 Posts: 10 |
I would add "free-rotating tunnel" to the list. :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: I would add "free-rotating tunnel" to the list. :)
Yeah! FD-tunnel. I think Oswalds 8x8 attempt is the closest so far |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: Yeah! FD-tunnel. I think Oswalds 8x8 attempt is the closest so far
that's by Bubis, and in 4x4 :) |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Quoting Oswaldthat's by Bubis, and in 4x4 :) Not calculated to 8x8 and then interpolated to 4x4? =) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: Quoting Oswaldthat's by Bubis, and in 4x4 :) Not calculated to 8x8 and then interpolated to 4x4? =)
exactly. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: that's by Bubis, and in 4x4 :)
Oh, sorry Bubis! :D |
| |
CreaMD
Registered: Dec 2001 Posts: 3058 |
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 |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
graffity did mcol and gfxmode split way earlier than this. |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
Maybe Holy Grails and world-firsts aren't quite the same thing. :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
btw VIC does some weird stuff when changing from mc to hires, or when making gaps with d016, anyone ever used those? holy grail :) |
| |
Krill
Registered: Apr 2002 Posts: 2982 |
I think Crossbow used something like that to have more than 320 pixels worth of char/bitmap graphics per rasterline. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
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. |
| |
Walt
Registered: May 2004 Posts: 47 |
d016 gaps used greatly in the endpart of Mentallic - initially mistaken for 9 sprites :) |
| |
CreaMD
Registered: Dec 2001 Posts: 3058 |
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 ;-)))) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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. |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Quoting Oswaldthat's by Bubis, and in 4x4 :) Could someone tell me in which demo/release this 4x4-tunnel can be found? Thx! |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
Quote: Quoting Oswaldthat'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. |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
Quoting Oswalderror 23, the blue tunnel. Ah in E23! Thanks!! |
| |
Rastah Bar Account closed
Registered: Oct 2012 Posts: 336 |
Quoting KrillI 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 ...) |
| |
Copyfault
Registered: Dec 2001 Posts: 478 |
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 ;) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
sure c64 can do anything, given you give it enough time, and backstorage :) |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Drone Processor Preview uses machine learning of the Genetic Programming variety. It was never finished though. |
| |
CreaMD
Registered: Dec 2001 Posts: 3058 |
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 |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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 |
| |
CreaMD
Registered: Dec 2001 Posts: 3058 |
As I expected I see one split. But I must admit it looks perfect so you've got point there. |
| |
Peacemaker
Registered: Sep 2004 Posts: 275 |
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. |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
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 :) |
| |
Peacemaker
Registered: Sep 2004 Posts: 275 |
indeed. oswald ist right.
a 7 pixel high char = no badline problem. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
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. |
| |
ptoing
Registered: Sep 2005 Posts: 271 |
What was the setup for that, Christopher? |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
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
|
| |
ptoing
Registered: Sep 2005 Posts: 271 |
That's pretty clever. Good stuff. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
Thanks :) |
| |
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. |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
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|
+----------+---------------+
|
| |
Krill
Registered: Apr 2002 Posts: 2982 |
*** ChristopherJam invokes Godwin's Law
*** Topic closed |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: *** ChristopherJam invokes Godwin's Law
*** Topic closed
ROFL! |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1409 |
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
|
| |
CreaMD
Registered: Dec 2001 Posts: 3058 |
"rocket science", "easy as d021". Yeah "After wit is everybody's wit." |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
I see every post of Christopher as <message ignored>. What does it mean ? |
| |
algorithm
Registered: May 2002 Posts: 705 |
You accidently clicked on "ignore all posts from this user". You can revert back to previous somewhere in userpage I think |
| |
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 |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
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, thats not a holy grail, that is Amiga |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Quote: Well, thats 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 ? |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
A demo where you can set it in warp mode, even if it runs on real hardware. |
| |
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)=) |
| |
Digger
Registered: Mar 2005 Posts: 439 |
Multicolour ECM or legalling $d011's illegal mode. |
| |
Raistlin
Registered: Mar 2007 Posts: 689 |
A full-screen diagonally scrolling and repeating bitmap...? |
| |
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 :) |
| |
Oswald
Registered: Apr 2002 Posts: 5095 |
50 fps 160x200 plasma ? and not made of huge lego sized squares ? and more than 4 colors ?:P |
| |
Raistlin
Registered: Mar 2007 Posts: 689 |
The 160x200 plasma is definitely very nice - great job there :-) |
| |
Digger
Registered: Mar 2005 Posts: 439 |
Quote: I think Crossbow used something like that to have more than 320 pixels worth of char/bitmap graphics per rasterline.
Yeah, it was the 25 lines of multicolour bitmap plus extra hires scroll, not using sprites.
Does anyone remember which demo is was? Either Crest or Booze Designs...? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11392 |
Wasnt that boooze design and royal arte? :) |