Tuesday, March 22, 2016

First community developed title with MEGA65 support?

We recently found out about the following release: http://csdb.dk/release/?id=142464



This is basically a Wolfenstein-like ray-tracing engine for the C64, which seems to be amazingly memory efficient and rich in functionality. In fact, it seems to be capable enough to make an actual Wolfenstein-style game on the C64.

It is also EXTREMELY slow on a real C64. In fact, even on a SuperCPU, or in VICE running in warp-mode on my i7 Mac, it is still quite slow.

What is very nice is that the author appears to have added support for the MEGA65.

Here is a video of it running on the MEGA65 at 48MHz.  Compared to my 2.7GHz i7 Mac running VICE, the MEGA65 is somewhere between 2x and 5x faster, as far as I can judge.  It would be great if the demo included a frames per second measure, so that we can benchmark more precisely.  It would also be great if someone with a Chameleon could test it on there, so that we can get a sense of the relative speed between the Chameleon and current MEGA65 state.




9 comments:

  1. Excellent! I compared my 486-SX Wolfenstein 3D and Brotcasten on M65 - speed is near same! Mega 65 provides full acceleration, tomorrow I'll try on my SCPU128, here's late night.

    Miro

    ReplyDelete
    Replies
    1. Great :) We will have a special version of brotCASTen soon that will be able to report frames per second. It will be great to be able to get some benchmark results from brotCASTen on different accelerators. I'd love to see the performance from a Chameleon as well, if we know anyone who has one?

      Delete
  2. Hello Paul,

    thanks for the Update ! Of course i couldn't resist :-)
    Here is BrotCASTen on the Turbo Chameleon...
    (Quickly recorded using my mobile)

    If you want to have other settings, just let me know

    https://youtu.be/DsOTA0JW7wE

    PS: i have just seen your message from February to me, on Forum64, regarding the Podcast. Don't worry, i'll contact you soon ! ;-)

    ReplyDelete
  3. I quote m-e-g-a.org : "the speed of the machine has once again increased"
    Does that means more MHz or just overhaul performance is better? 64MHz? :)
    Awesome demo BTW, I guess it's a testament to the C64 mode on the MEGA65, I can't wait to see what can be done using the native mode.

    ReplyDelete
    Replies
    1. Hello,

      No, we are still at 48MHz for the time being. We have over the past few months squeezed a few percent better IPC out of it, but that's all for now. Substantial further increases would require substantial further effort, and likely a complete overhaul of the CPU design.

      Paul.

      Delete
    2. I see, as long as the performance is good and the design is cleanly done, I think everyone will be fine with it.
      I'm a bit clueless one how the video hardware works but have a question :
      In 65 mode, would a ray-caster using the bitplane mode be faster than using the character base mode (using tiles as a frame buffer)?
      I ask that because chunky to planar were always a big bottleneck in the Amiga world while doing 3D map stuffs.
      Any chunky video modes planned?

      Delete
    3. Hello,
      In effect the 256-colour character mode is a chunky mode: Each pixel is represented by exactly one byte. So drawing such displays should be much faster than when using bitplanes, where you have to figure out the location in each of the 8 bitplanes to modify.

      Paul.

      Delete
  4. Sorry for being so boring always about the C64DTV :) Maybe I have even mentioned this on this blog too some time ...

    https://www.youtube.com/watch?v=VjAZtoeU8Zo

    From 3:30. It's quite good resolution and speed, I think. Of course it's a demo, not a game, so a bit different issue. But anyway, C64DTV's CPU is actually slower than C65gs'. It emulates about the same clock speed as C64, though in burst+skip cycle mode, it can execute 32 bit (4 byte aligned) bunch of opcodes within a single cycle, if no other memory read/write needed. However, I think, to be able to do that, guys in the demo may used the Blitter which access SDRAM in 32 bit data bus (if I remember correctly it even caches read so eg 0 step read operation will be used to fill the destination and no time needed to read source again and again) and can do fancy memory operations like "zooming" or "scale" (eg, by non-integer factors too) texture etc (maybe the CPU speed is not even an important factor here). This is the key I can guess makes it possible, but of course I can't be sure. In the video from 1:33 maybe again blitter was used.

    I'm not sure if similar tries on 64gs/mega65 would "only" use the CPU power, or some hardware help (blitter, whatever) like on DTV.

    ReplyDelete