| View previous topic :: View next topic |
| Author |
Message |
Grandmaster of C64


Joined: 13 Jan 2003 Posts: 1950
|
Posted: Sun Nov 25, 2007 4:44 pm Post subject: |
|
|
| oswald wrote: | | its not 2x2, and the atari isnt that much faster when the dma steals cycles from the cpu. |
Actually the 2x2 mode only fetches bitmap data every 2nd rasterline, and Yoomp also uses a 32 byte wide screen which saves another 8 cycles every bitmap line. On the other lines almost the entire 1.77 MHz is available which means ~4600 additional cycles compared to C64. This makes the A8 approx 1.5 times faster than a C64 in this case, PLUS you don't need to STA every byte twice which also gives another ~1000 cycles. And finally if they have chosen bitmap mode, they don't have any badlines which gives you yet another ~1000 free cycles.
| Quote: |
here is a similar tunnel in a c64 demo, running at the speed roughly the c64 could do that game: |
That tunnel is nowhere similar. It's a tunnel, ok. But it completely lacks the logic to have a game tilemap like seen in Yoomp (there are many different tiles visible at the same time, not just one like in Larch). |
|
| Back to top |
|
 |
Forum Junkie

Joined: 21 Jun 2004 Posts: 500 Location: Göteborg, Sweden
|
Posted: Sun Nov 25, 2007 8:07 pm Post subject: |
|
|
| Fröhn wrote: | | Actually the 2x2 mode only fetches bitmap data every 2nd rasterline, and Yoomp also uses a 32 byte wide screen which saves another 8 cycles every bitmap line. On the other lines almost the entire 1.77 MHz is available which means ~4600 additional cycles compared to C64. This makes the A8 approx 1.5 times faster than a C64 in this case |
Ah, cool, thanks for the numbers. So 35000 cycles per frame, minus about 5000 dma cycles for the 2x2 graphics and the sprite?
| Quote: | | PLUS you don't need to STA every byte twice which also gives another ~1000 cycles |
Yeah, I think the C64 would have to do every other line, or drop the framerate.
| Fröhn wrote: | | Oswald wrote: |
here is a similar tunnel in a c64 demo, running at the speed roughly the c64 could do that game: |
That tunnel is nowhere similar. It's a tunnel, ok. But it completely lacks the logic to have a game tilemap like seen in Yoomp (there are many different tiles visible at the same time, not just one like in Larch). |
That's really just a matter of texture size. Yoomp appears to use a 64x32 texture.
If someone wanted to port this to the C64, I don't see a problem. As I wrote earlier I'd still prefer an original C64 production. I should pick up an Atari 800 sometime though :) _________________
|
|
| Back to top |
|
 |
Master of C64


Joined: 05 Sep 2007 Posts: 1207 Location: Norway
|
Posted: Tue Nov 27, 2007 1:14 pm Post subject: |
|
|
I didnt think the C64 would have the horsepower to churn out the amount of bitmap work to do something like this unless you were talking about one picture every 4th refresh or something. But I'd love to see someone do a sample on this. After all the maths involved here can be optimized totally and probably unrolled a lot for speed.
Most of the "bitmap" plasma like effects I have seen uses large 8x8 or 4x4 blocks to get decent framerates on the C64. _________________ |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 23 May 2006 Posts: 3414
|
Posted: Tue Nov 27, 2007 1:29 pm Post subject: |
|
|
Well I don't wanna diss the Commie, but I can't see this ever being done on a C64. Repetitive patterns is one thing, but this has different tiles everywhere. I've never seen anything that looks like it.
At least we can be sure the sound can be ported pretty well... |
|
| Back to top |
|
 |
Forum Junkie

Joined: 21 Jun 2004 Posts: 500 Location: Göteborg, Sweden
|
Posted: Tue Nov 27, 2007 4:33 pm Post subject: |
|
|
| johncl wrote: | | I didnt think the C64 would have the horsepower to churn out the amount of bitmap work to do something like this unless you were talking about one picture every 4th refresh or something. |
Since the C64 has about 35% fewer cycles per frame, worst case would be halved framerate.
| Quote: | | But I'd love to see someone do a sample on this. After all the maths involved here can be optimized totally and probably unrolled a lot for speed. |
Tunnel effects can be completely unrolled, as the texture mapping is static. _________________
|
|
| Back to top |
|
 |
Über Groupie

Joined: 17 Jul 2003 Posts: 361
|
Posted: Tue Nov 27, 2007 9:21 pm Post subject: |
|
|
| Fröhn wrote: |
| Quote: |
here is a similar tunnel in a c64 demo, running at the speed roughly the c64 could do that game: |
That tunnel is nowhere similar. It's a tunnel, ok. But it completely lacks the logic to have a game tilemap like seen in Yoomp (there are many different tiles visible at the same time, not just one like in Larch). |
maybe try to learn to code before making such statements. the unrolled code is the same for both tunnels, only the 'higher' level logics should be changed (changing a bit the texture adressing and a texture feeder). A yoomp like game can be done in a few days. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 23 May 2006 Posts: 3414
|
Posted: Tue Nov 27, 2007 9:55 pm Post subject: |
|
|
Why isn't there a C64 demo that looks like this game then if it's possible? plenty of tunnel effects yes, but all parts of each "circle" are the same colour. This has different colours in different parts of the ring. |
|
| Back to top |
|
 |
Über Groupie

Joined: 17 Jul 2003 Posts: 361
|
Posted: Wed Nov 28, 2007 11:23 am Post subject: |
|
|
why, is there an atari demo which has a tunel like this game?
| Quote: | | all parts of each "circle" are the same colour |
have you ever seen a c64 demo with a tunnel, or read this thread at all? *sigh* let me help you:
http://noname.c64.org/csdb/release/?id=827
now dont go like fröhn, the code can be changed in no time to have it look exactly like yoomp, while keeping the speed. (in fact it would increase, since yoomp is much smaller.) |
|
| Back to top |
|
 |
Forum Junkie

Joined: 21 Jun 2004 Posts: 500 Location: Göteborg, Sweden
|
Posted: Wed Nov 28, 2007 12:46 pm Post subject: |
|
|
| DanSolo wrote: | | Why isn't there a C64 demo that looks like this game then if it's possible? plenty of tunnel effects yes, but all parts of each "circle" are the same colour. This has different colours in different parts of the ring. |
The Atari 800's 2x2 mode can display four colors at a time, just like the C64's multicolor modes. The Atari can change them once per rasterline, the C64 can change one once per line three of them per char (in bitmap mode, 3 per line/1 per char in char mode).
Like oswald says it can be coded in a few days - though I'd like to point out that to make a good game, that is fun to play, it takes a little longer :) _________________
|
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 23 May 2006 Posts: 3414
|
Posted: Wed Nov 28, 2007 8:58 pm Post subject: |
|
|
That demo won't run on my emulators, so I'll take your word for it until I get to put it on my C64. The screenshot is a symmetrical pattern though, not what's in Yoomp, and it's a lot chunkier looking. Though it'd be even harder to convince me there's any way around that! |
|
| Back to top |
|
 |
Master of C64


Joined: 31 Jan 2003 Age: 42 Posts: 1152 Location: Italy
|
Posted: Wed Nov 28, 2007 9:15 pm Post subject: |
|
|
| DanSolo wrote: | | That demo won't run on my emulators |
You should really update your emulator(s), because Larch works perfectly in Vice(plus) 1.22, CCS2.0/3.4, Hoxs64 1.0.5.10 .
Just out of curiosity, are you a Power64(Mac) or Frodo user? _________________
-=[]=--- iAN CooG/HVSC & C64Intros ---=[]=- |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 23 May 2006 Posts: 3414
|
Posted: Wed Nov 28, 2007 11:10 pm Post subject: |
|
|
| iAN CooG wrote: | | DanSolo wrote: | | That demo won't run on my emulators |
You should really update your emulator(s), because Larch works perfectly in Vice(plus) 1.22, CCS2.0/3.4, Hoxs64 1.0.5.10 .
Just out of curiosity, are you a Power64(Mac) or Frodo user? |
It crashed in regular VICE 1.22 and CCS3.0, but runs in CCS2.0. (I loved the face shadows bit BTW). The screenshot at csdb is the only tunnel on the demo, and like I said, it's a repeating pattern, not a "user-defined" series of tiles.
Not convinced, but I'm willing to let it go honestly! |
|
| Back to top |
|
 |
Master of C64


Joined: 05 Sep 2007 Posts: 1207 Location: Norway
|
Posted: Thu Nov 29, 2007 9:30 am Post subject: |
|
|
Switching to 1541 II emulation for the drive works wonders in Vice for this demo. Normal 1541 emulation bombs. _________________ |
|
| Back to top |
|
 |
Über Groupie

Joined: 17 Jul 2003 Posts: 361
|
Posted: Thu Nov 29, 2007 12:09 pm Post subject: |
|
|
| DanSolo wrote: | | That demo won't run on my emulators, so I'll take your word for it until I get to put it on my C64. The screenshot is a symmetrical pattern though, not what's in Yoomp, and it's a lot chunkier looking. Though it'd be even harder to convince me there's any way around that! |
it really puts me up how do you completely ignore what I have written. not to talk about taking me as a liar "That demo won't run on my emulators, so I'll take your word for it until". How did I know you cant run that demo? Coz I needed that before trying to lie to you, also create a fake screenshot with a fake entry on csdb, its really "nice" from you thinking I would do all that things just to convince you.
lets try another way:
the atari and the c64 has the same CPU, and similar 4 color screenmodes, tell me please how it would be impossible on the c64 ? also as someone said here the c64 has ~35% less cycles. its possible at 35% slower speed. period.
Last edited by oswald on Thu Nov 29, 2007 12:19 pm; edited 2 times in total |
|
| Back to top |
|
 |
Master of C64


Joined: 17 Jul 2006 Posts: 1102 Location: N.S.W. Australia
|
Posted: Thu Nov 29, 2007 12:09 pm Post subject: Would this be possible on C64? |
|
|
Works 100% for me in VICE 1.22
I downloaded it , ran it in Vice only to realise on the end screen that I already seen and owned a real 5.25 version of this demo.
 tomz  _________________ |
|
| Back to top |
|
 |
Immortal Grandmaster of C64

Joined: 13 Oct 2004 Posts: 4679
|
Posted: Thu Nov 29, 2007 12:16 pm Post subject: |
|
|
oswald: maybe it's even possible faster than on the atari? or have you looked at the code and checked if it cant be optimized? =)
whatever i agree with oswald, this should be very doable.... the damn thing doesnt even rotate, it boils down to almost trivial "colorcycling". _________________ |
|
| Back to top |
|
 |
Über Groupie

Joined: 17 Jul 2003 Posts: 361
|
Posted: Thu Nov 29, 2007 12:48 pm Post subject: |
|
|
grop: I have done too many tunnels and similar routines to have a feel for speeds
DanSolo, anyhow YOU have to proove its not possible with the same cpu, and 90% similar gfxmode. |
|
| Back to top |
|
 |
Immortal Grandmaster of C64


Joined: 23 May 2006 Posts: 3414
|
Posted: Thu Nov 29, 2007 5:32 pm Post subject: |
|
|
| oswald wrote: | | it really puts me up how do you completely ignore what I have written. not to talk about taking me as a liar "That demo won't run on my emulators, so I'll take your word for it until". How did I know you cant run that demo? Coz I needed that before trying to lie to you, also create a fake screenshot with a fake entry on csdb, its really "nice" from you thinking I would do all that things just to convince you. |
Huh? Which part of "I'll take your word for it" is calling you a liar? I've already said I got it to run (but there's nothing in it that wasn't in the screenshot). johncl has confirmed this as a problem with VICE 1541 emulation mode. You've ignored all this yourself.
I'll just put this down to misundertanding my English I guess, which is inevitable sometimes on this forum.
As for "trivial colorcycling" I really don't see it myself. There's no repeating pattern to it so that just won't work that easily. |
|
| Back to top |
|
 |
Über Groupie

Joined: 17 Jul 2003 Posts: 361
|
Posted: Thu Nov 29, 2007 6:20 pm Post subject: |
|
|
ok, I was too much on the attacking side. Anyways waiting for your proof that how it is not possible to do the same routine on a system with the same cpu and 90% the same screen mode? only the memory layout is different, oh and the doubled lines, well how about using only every 2nd line on the 64.., or Y stretched sprites, or alternatively writing the odd/even lines, the possibilities are countless.. |
|
| Back to top |
|
 |
Master of C64


Joined: 05 Sep 2007 Posts: 1207 Location: Norway
|
Posted: Thu Nov 29, 2007 7:34 pm Post subject: |
|
|
As I said. I'd love to see this done. Maybe we should have a small coding competition here.  - First to get it working and then thinking about optimizing the code. The texture lookup calculation seems like it could be precalculated, but I guess with the idea I have in mind I would run out of memory very quickly when I tried to unroll all texture lookups. (160x100 for whole screen, probably around half of that are actual tunnel pixels). _________________ |
|
| Back to top |
|
 |
Grandmaster of C64


Joined: 13 Jan 2003 Posts: 1950
|
Posted: Thu Nov 29, 2007 10:59 pm Post subject: |
|
|
| oswald wrote: | | ok, I was too much on the attacking side. Anyways waiting for your proof that how it is not possible to do the same routine on a system with the same cpu and 90% the same screen mode? |
I never said that it is impossible, I only said it's impossible to do it at the same speed. I believe they made a pretty much optimized routine already since it's easy to do so without rotation (it's just LDA ORA ORA ORA STA), and you would use the same routine on C64.
Also, don't forget that it's not only the tunnel routine in memory. There is also something called "a game" too.
| Quote: | | the doubled lines, well how about using only every 2nd line on the 64.., or Y stretched sprites, or alternatively writing the odd/even lines, the possibilities are countless.. |
Doubling lines via software ~ 72 cycles per pixel line, doubling via sprites ~ 38 cycles per pixel line. |
|
| Back to top |
|
 |
Forum Junkie

Joined: 21 Jun 2004 Posts: 500 Location: Göteborg, Sweden
|
Posted: Fri Nov 30, 2007 2:45 pm Post subject: |
|
|
| Fröhn wrote: | | Doubling lines via software ~ 72 cycles per pixel line, doubling via sprites ~ 38 cycles per pixel line. |
Ideally the title menu would give you the options of leaving every other line blank, every other line with $d011 interlace, and software doubled lines, letting the user choose what they feel look the best :) _________________
|
|
| Back to top |
|
 |
Über Groupie

Joined: 17 Jul 2003 Posts: 361
|
Posted: Fri Nov 30, 2007 5:10 pm Post subject: |
|
|
| johncl wrote: | As I said. I'd love to see this done. Maybe we should have a small coding competition here. - First to get it working and then thinking about optimizing the code. The texture lookup calculation seems like it could be precalculated, but I guess with the idea I have in mind I would run out of memory very quickly when I tried to unroll all texture lookups. (160x100 for whole screen, probably around half of that are actual tunnel pixels). |
you would need about half of 160x100 pixels, check the true size. the code can not be optimized more than it is in the atari game, as fröhn points out it will be slower on c64 no matter what. |
|
| Back to top |
|
 |
Grandmaster of C64


Joined: 13 Jan 2003 Posts: 1950
|
Posted: Fri Nov 30, 2007 11:43 pm Post subject: |
|
|
| MagerValp wrote: | | Fröhn wrote: | | Doubling lines via software ~ 72 cycles per pixel line, doubling via sprites ~ 38 cycles per pixel line. |
Ideally the title menu would give you the options of leaving every other line blank, every other line with $d011 interlace, and software doubled lines, letting the user choose what they feel look the best  |
I wouldn't like the blank lines. It halves the brightness and also the saturation of the colors, it makes everything look ugly but you still would be slower than the A8 original. With doubled lines you are only slower but atleast it doesnt look uglier. |
|
| Back to top |
|
 |
Newbie
Joined: 01 Dec 2007 Posts: 9 Location: Amsterdam, NL
|
Posted: Sat Dec 01, 2007 10:34 am Post subject: A word from the other side of the barricade :) |
|
|
Hi guys,
I'm the author of Yoomp! - thanks for some nice words about it!
And yes - apologies for entering this atari-forbidden territory
I really would like to see Yoomp! ported to C64. It is simply an opportunity we shouldn't miss to make some cross-scene project, since so much of the code can be so easily ported.
Like many of you noticed, the biggest technical challenge is to port the actual tunnel routine. On Atari, it is 128x96 pixels area, but large parts of it are actually not rendered (where the side graphics is and in the middle of the tunnel). This allows it to run in 2 frames. I don't know how to render something in this resolution on C64, but if it's possible in 3, or maybe even 4 or 5 frames, that should be good enough. The reason this can still look good is that we render the ball every single frame, and since this is the most dynamic object, the user has a perception of smooth animation. Tunnel doesn't change that much, hence slow animation there might be fine. I guess once this problem can be reasonably well solved, the rest should be easy.
On Atari, one of the biggest problems was to fit everything in the memory. The tunnel-rendering code currently takes ca. 12KB ($0400-$3600). With proper texture and tunnel organization, the same code is used for rendering upper and lower halves of the screen. Another huge memory hog is the texture memory. The tunnel map is 8x4 tiles, each tile is 8x16 pixels, and for each texture pixel we need 8 bytes (for each 4 possible positions of a pixel in byte, and times two for scrolling the data). That would result in 8*4*8*16*8 = 32KB. Since that's too much, we make the tiles visually 8x16, but in the texture they are actually 4x16, as we use tile symmetry. That reduces the texture memory to 16KB ($8000-$c000) - still quite a lot.
For everything else you don't need to worry - the sources for Yoomp! will become available soon, and pretty much the entire game logic can be ported almost 1:1 to C64. Of course, the music, fx, title screens etc. would need to be changed, but that's peanuts
So, if someone is seriously considering doing it, I would be willing to help. _________________ Atari rulez!
OK. Commodore rulez too  |
|
| Back to top |
|
 |
|