cahirwpz / demoscene

Amiga OCS demoscene related sources
http://ghostown.pl
Artistic License 2.0
111 stars 24 forks source link

'We Can Code Again' not working #1

Closed mikrosk closed 8 years ago

mikrosk commented 10 years ago

Oh, hi, it's me again ;)

As a start, I have chosen to try your nice demo first. So I checked out 934534bdbd8ad373f538952e90c8b31ba8a2f160 (final touches), typed 'make' and voila, output is 107932 bytes long binary. What might be first sign of trouble because the release binary is 103312 bytes long. When I copy this new binary over to the same folder where 'data' is, it seems to start (printing info about Kickstart version, CPU etc) but then it does nothing (no loading screen). So I'm wondering, is there something else I need to do?

I tried also other stuff from 'effects', the ones which do not require any data (particles, 2d vectors, ...) work fine. So startup code & friends must be ok...

cahirwpz commented 10 years ago

On Fri, Jan 24, 2014 at 12:02 AM, Miro Kropacek notifications@github.comwrote:

Oh, hi, it's me again ;)

Nobody expects Spanish inquisition! :P

As a start, I have chosen to try your nice demo first. So I checked out 934534bhttps://github.com/cahirwpz/demoscene/commit/934534bdbd8ad373f538952e90c8b31ba8a2f160(final touches), typed 'make' and voila, output is 107932 bytes long binary. What might first sign of trouble because the release binary is 103312 bytes long. When I copy this new binary over to the same folder where 'data' is, it seems to start (printing info about Kickstart version, CPU etc) but then it does nothing (no loading screen). So I'm wondering, is there something else I need to do?

I'm afraid the binary doesn't work even if compiled from my local repository. There have been many changes since the release, and not all of them were pushed. Fixing already released productions is not my top priority - but eventually I'll do it.

OTOH I think I should just make a branch for each release. That would save me some work.

I tried also other stuff from 'effects', the ones which do not require any data (particles, 2d vectors, ...) work fine. So startup code & friends must be ok...

That's right - data files have not been released for these binaries. The sources are undergoing some serious changes. My goal is to directly support well known file formats as (for instance) PNG. If you really want the data files I can send them to you (provided that I have your e-mail).

BTW. Are you interested in writing a demoscene production?

Kind regards Krystian Bacławski

mikrosk commented 10 years ago

I know this so well :P You're right, there's always a thousand of changes and you think 'naaah, why bother' and then suddenly a reason why it would have been good idea to commit comes but it's too late ;-)

I am actually author of several demoscene productions but for the good platform, i.e. Atari Falcon ;-) Over the years I've worked on several Amiga ports (last three TBL demos, for instance) and your project seemed like fun to try on Atari, too. I mean, an Amiga demo with sources based on gcc+vasm (both available for Atari)? Must be a work for 1-2 days. So that's why I focused on 'We Can Code Again', if this works on Atari, any other of your (future) productions would work, too.

BTW, I have an Amiga 060/50 and I can tell you, streaming from disk in chunks seriously hurts performance -- everytime you load new chunk, it's very visible, I'd recommend to load everything at once (or at least as much as possible), similarly what other Amiga (and Atari, for that matter) demos do.

cahirwpz commented 10 years ago

Hi Miro,

On Sat, Jan 25, 2014 at 11:05 AM, Miro Kropacek notifications@github.comwrote:

I know this so well :P You're right, there's always a thousand of changes and you think 'naaah, why bother' and then suddenly a reason why it would have been good idea to commit comes but it's too late ;-)

Sometimes I'm a lazy coder - can't help it.

I am actually author of several demoscene productions but for the good platform, i.e. Atari Falcon ;-) Over the years I've worked on several Amiga ports (last three TBL demos, for instance) and your project seemed like fun to try on Atari, too. I mean, an Amiga demo with sources based on gcc+vasm (both available for Atari)? Must be a work for 1-2 days. So that's why I focused on 'We Can Code Again', if this works on Atari, any other of your (future) productions would work, too.

This fact changes the game a lot. I'm a bit surprised. It's great we established a contact! :-)

Ahhh... Atari Falcon... I've always been envious of DSP and 15-bit RGB chunky mode in this machine. And CT63 is sooo much better than any 68060 accelerator for Amiga - mainly because it has twice (or even more?) the memory bandwidth. Fighting with memory speed in Amiga 1200 is pain in the ass - chip memory is horribly slow (max. 7MB/s with DMA off), and fast memory is not that much better (35MB / s). Expect to see lots of cache memory tricks in the sources.

I think both gcc and vasm are available for Atari. You'd have to verify that - especially gcc version. Note that Amiga GCC has a very peculiar patch that allows to specify register for function argument.

I'm trying to limit non-portable parts to "demoscene/system" directory. If it was done properly I guess you could only swap it for Atari TOS (?) counterparts and a demo would work. But in the future you should expect that I'll start using Amiga Copper chip for some tricks like mid-screen palette / resolution switching, register poking, etc. Be prepared for that. Another issue that may emerge is connectivity. I use serial port console for logging. Having some vague idea of how effect / music synchronization should be solved I expect I'll need another hardware port (bi-directional parallel? ethernet?). The synchronization I mentioned is for assembly phase when one wants to tweak demo parameters while it's running (think of GNU rocket).

BTW, I have an Amiga 060/50 and I can tell you, streaming from disk in chunks seriously hurts performance -- everytime you load new chunk, it's very visible, I'd recommend to load everything at once (or at least as much as possible), similarly what other Amiga (and Atari, for that matter) demos do.

A shameful fact is that I put together my last demo on WinUAE. I'm working on resurrecting my A1200 + Blizzard PPC (68040@40 & 603e@175) + BVision + FastATA.

I know disk streaming is a bad idea. Fixing it is somewhere on my TODO list. Perhaps I should move it to the front. I came to the very same conclusion. Load everything - memory size is not an issue.

PS. Please give me your e-mail address. Mine is krystian.baclawski@gmail.com. I'll send you the data files for effects.

Kind regards Krystian Bacławski

mikrosk commented 10 years ago

Hi!

Ahhh... Atari Falcon... I've always been envious of DSP and 15-bit RGB chunky mode in this machine. And CT63 is sooo much better than any 68060 accelerator for Amiga - mainly because it has twice (or even more?) the memory bandwidth. Fighting with memory speed in Amiga 1200 is pain in the ass - chip memory is horribly slow (max. 7MB/s with DMA off), and fast memory is not that much better (35MB / s). Expect to see lots of cache memory tricks in the sources.

Well, on the other hand, we had to wait for the first (and only, actually) 060 card for an awfully long time -- the first prototype emerged in 2003. Our ST (chip) and TT (fast) RAM is faster, true but sad fact is that even if ST RAM is clocked at 16 MHz... it's 16 bit! And the DSP -- even 8-bit bus. So everything comes with price ;) But TT RAM is fast as hell, no doubt about that, all TBL demos are nearly twice as fast.

I think both gcc and vasm are available for Atari. You'd have to verify

that - especially gcc version. Note that Amiga GCC has a very peculiar patch that allows to specify register for function argument.

Sure they are, all versions. I had no idea about such a patch but yes, it kills ease of porting quite a lot, I had to "de-register" Silkcut in this way, IIRC (didn't have vbcc available at that time).

counterparts and a demo would work. But in the future you should expect

that I'll start using Amiga Copper chip for some tricks like mid-screen palette / resolution switching, register poking, etc. Be prepared for that.

This is OK. As long as you don't do some hardcore Copper stuff, this is bearable. We can split screen in very similar way.

Another issue that may emerge is connectivity. I use serial port console for logging. Having some vague idea of how effect / music synchronization

I'll just disable it, problem solved ;)

PS. Please give me your e-mail address. Mine is krystian.baclawski@gmail.com. I'll send you the data files for effects.

miro.kropacek@gmail.com -- the effects will work, I'm sure, as soon (if ever) as you have the patch for the demo, that will be much more fun! ;-)

Cheers!

MiKRO / Mystic Bytes http://mikro.atari.org

usrlocalben commented 10 years ago

On 1/25/2014 3:48 AM, Krystian Bacławski wrote:

On Fri, Jan 24, 2014 at 12:02 AM, Miro Kropacek notifications@github.comwrote:

Oh, hi, it's me again ;)

Nobody expects Spanish inquisition! :P

BTW. Are you interested in writing a demoscene production?

Good to see life here!

Cahir -- I eventually gave up refreshing the release page and never noticed when WCCA was released until Miro's comment hit my mailbox.

In case you never received my email last year, I just wanted to say thanks for the intro to m68k-gcc at the party. I've been through the WCCA sources and plan to work on some amiga stuff this year using them as some of the framework. Hope that's ok -- If I release I'll credit cahir/wpz of course :)

Any plans to attend Revision?

Oh and Miro, thanks for the falcon efforts -- I've enjoyed all of the ports. First learned about Falcon when I sat next to evil/dhs at bfp'06 and so I've been following it since then.

-benjamin (anix/rqdq)

cahirwpz commented 10 years ago

On Sat, Jan 25, 2014 at 5:29 PM, benjamin9999 notifications@github.comwrote:

In case you never received my email last year, I just wanted to say

thanks for the intro to m68k-gcc at the party.

I'm afraid I didn't. I hope the toolchain will become more popular - I need another coder to help me with it.

I've been through the WCCA sources and plan to work on some amiga stuff this year using them as some of the framework. Hope that's ok -- If I release I'll credit cahir/wpz of course :)

That would be nice. But it'd be even better if you could contribute optimized routines or new effects into the repo!

Any plans to attend Revision?

There's a rule I learned from Maq/Floppy - I don't go to a party unless I coded a production. Much depends on that.

Kind regards Krystian Bacławski