Commodore 64 (C64) Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
Would this be possible on a C64?
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> Scene
View previous topic :: View next topic  
Author Message
Fröhn
Grandmaster of C64
Grandmaster of C64


Joined: 13 Jan 2003
Posts: 1950

PostPosted: Sun Nov 25, 2007 4:44 pm    Post subject: Reply with quote

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
View user's profile Send private message
MagerValp
Forum Junkie
Forum Junkie


Joined: 21 Jun 2004
Posts: 500
Location: Göteborg, Sweden

PostPosted: Sun Nov 25, 2007 8:07 pm    Post subject: Reply with quote

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 :)
_________________
Code:

READY.
#
Back to top
View user's profile Send private message Visit poster's website
johncl
Master of C64
Master of C64


Joined: 05 Sep 2007
Posts: 1207
Location: Norway

PostPosted: Tue Nov 27, 2007 1:14 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
DanSolo
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 23 May 2006
Posts: 3414

PostPosted: Tue Nov 27, 2007 1:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
MagerValp
Forum Junkie
Forum Junkie


Joined: 21 Jun 2004
Posts: 500
Location: Göteborg, Sweden

PostPosted: Tue Nov 27, 2007 4:33 pm    Post subject: Reply with quote

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.
_________________
Code:

READY.
#
Back to top
View user's profile Send private message Visit poster's website
oswald
Über Groupie
Über Groupie


Joined: 17 Jul 2003
Posts: 361

PostPosted: Tue Nov 27, 2007 9:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
DanSolo
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 23 May 2006
Posts: 3414

PostPosted: Tue Nov 27, 2007 9:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
oswald
Über Groupie
Über Groupie


Joined: 17 Jul 2003
Posts: 361

PostPosted: Wed Nov 28, 2007 11:23 am    Post subject: Reply with quote

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
View user's profile Send private message
MagerValp
Forum Junkie
Forum Junkie


Joined: 21 Jun 2004
Posts: 500
Location: Göteborg, Sweden

PostPosted: Wed Nov 28, 2007 12:46 pm    Post subject: Reply with quote

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 :)
_________________
Code:

READY.
#
Back to top
View user's profile Send private message Visit poster's website
DanSolo
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 23 May 2006
Posts: 3414

PostPosted: Wed Nov 28, 2007 8:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
iAN CooG
Master of C64
Master of C64


Joined: 31 Jan 2003
Age: 42
Posts: 1152
Location: Italy

PostPosted: Wed Nov 28, 2007 9:15 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
DanSolo
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 23 May 2006
Posts: 3414

PostPosted: Wed Nov 28, 2007 11:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
johncl
Master of C64
Master of C64


Joined: 05 Sep 2007
Posts: 1207
Location: Norway

PostPosted: Thu Nov 29, 2007 9:30 am    Post subject: Reply with quote

Switching to 1541 II emulation for the drive works wonders in Vice for this demo. Normal 1541 emulation bombs.
_________________
Back to top
View user's profile Send private message Visit poster's website
oswald
Über Groupie
Über Groupie


Joined: 17 Jul 2003
Posts: 361

PostPosted: Thu Nov 29, 2007 12:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
tomz
Master of C64
Master of C64


Joined: 17 Jul 2006
Posts: 1102
Location: N.S.W. Australia

PostPosted: Thu Nov 29, 2007 12:09 pm    Post subject: Would this be possible on C64? Reply with quote

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. Smile

Twisted Evil tomz Twisted Evil
_________________
Back to top
View user's profile Send private message Send e-mail MSN Messenger
groepaz
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 13 Oct 2004
Posts: 4679

PostPosted: Thu Nov 29, 2007 12:16 pm    Post subject: Reply with quote

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
View user's profile Send private message
oswald
Über Groupie
Über Groupie


Joined: 17 Jul 2003
Posts: 361

PostPosted: Thu Nov 29, 2007 12:48 pm    Post subject: Reply with quote

grop: I have done too many tunnels and similar routines to have a feel for speeds Smile

DanSolo, anyhow YOU have to proove its not possible with the same cpu, and 90% similar gfxmode.
Back to top
View user's profile Send private message
DanSolo
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 23 May 2006
Posts: 3414

PostPosted: Thu Nov 29, 2007 5:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
oswald
Über Groupie
Über Groupie


Joined: 17 Jul 2003
Posts: 361

PostPosted: Thu Nov 29, 2007 6:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
johncl
Master of C64
Master of C64


Joined: 05 Sep 2007
Posts: 1207
Location: Norway

PostPosted: Thu Nov 29, 2007 7:34 pm    Post subject: Reply with quote

As I said. I'd love to see this done. Maybe we should have a small coding competition here. Wink - 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
View user's profile Send private message Visit poster's website
Fröhn
Grandmaster of C64
Grandmaster of C64


Joined: 13 Jan 2003
Posts: 1950

PostPosted: Thu Nov 29, 2007 10:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
MagerValp
Forum Junkie
Forum Junkie


Joined: 21 Jun 2004
Posts: 500
Location: Göteborg, Sweden

PostPosted: Fri Nov 30, 2007 2:45 pm    Post subject: Reply with quote

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 :)
_________________
Code:

READY.
#
Back to top
View user's profile Send private message Visit poster's website
oswald
Über Groupie
Über Groupie


Joined: 17 Jul 2003
Posts: 361

PostPosted: Fri Nov 30, 2007 5:10 pm    Post subject: Reply with quote

johncl wrote:
As I said. I'd love to see this done. Maybe we should have a small coding competition here. Wink - 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
View user's profile Send private message
Fröhn
Grandmaster of C64
Grandmaster of C64


Joined: 13 Jan 2003
Posts: 1950

PostPosted: Fri Nov 30, 2007 11:43 pm    Post subject: Reply with quote

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 Smile

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
View user's profile Send private message
eru
Newbie


Joined: 01 Dec 2007
Posts: 9
Location: Amsterdam, NL

PostPosted: Sat Dec 01, 2007 10:34 am    Post subject: A word from the other side of the barricade :) Reply with quote

Hi guys,

I'm the author of Yoomp! - thanks for some nice words about it!

And yes - apologies for entering this atari-forbidden territory Wink

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 Smile

So, if someone is seriously considering doing it, I would be willing to help.
_________________
Atari rulez!
OK. Commodore rulez too Smile
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> Scene All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Tip: Get C64 Forever for super-comfy C64 emulation with pre-installed games, demos and other goodies!


Powered by phpBB © 2001, 2005 phpBB Group