August 17, 2010

Ok, to cut a long story short, stuff happened; if you want a more detailed explanation feel free to make one up! Anyhoo, I’ve come back out of the woodwork, and will start posting again soon; whether I resume work on the demo is uncertain — I took a look at my code and it rang a few vague bells, but it’s all really fuzzy at the moment — but I’ll at least try and update the tutorial and post other Amiga-related stuff here.


Internet b0rken again!

November 27, 2008

I’ve lost my internet connection again — I’m writing this in a McDonalds, but it’s not really an environment conducive to getting anything done — so there may be a slight delay with any updates until it’s fixed.  Bloody thing…

Quick update

November 26, 2008

Ok, another incremental release (0.4) with a new effect (the only one that’s made it across from the previous aborted release more or less unchanged).  Annoyingly I’ve noticed a rather stupid mistake on the zoomer screen which needs fixing — see if you can spot it in the screenshot. 🙂  I’m also toying with making the zoomed area round instead of square, so I need to experiment a bit.

4x Blitterzoom

I’ve also fixed a couple of the bugs — the plasma screens line up better and the flicker between the Glenz cube and Glenz ball is gone (although I’ve introduced a new bug in its place); the wonky CPU/FPU detection has slipped through for this one, mostly because I completely forgot about it until I started this post.  The AGA detection is also still screwed, but I think I’ll just remove it as quite frankly I don’t care whether it’s an AGA machine or not.  Maybe next time I’ll use it if it’s there!

Sadly I’ve also not fixed the memory leak yet, but I think I’ve narrowed it down to either the code that updates the little text strip or the code that writes text to the CLI window.  My betting is on the latter as that was a real last-second addition and I didn’t have time to fully digest the documentation. 😀  (Quick update: got it down to 600 bytes for the next release on Friday!)

I was also hoping to have the copperflag done by now, but it’s crashing fairly consistently — I tried to take a shortcut but I think I’ll have to do it properly; this means it won’t look as cool as I’d hoped but on balance I think “Ok effect” is better than “cool effect that works about one attempt in ten”. 😀

And on an entirely unrelated note, marmosets are frikkin’ sweet!


November 25, 2008

It’s been a great relief to learn that it actually works on something other than my machine, so thanks to everyone who gave it a whirl!  I learned a couple of things (my AGA detection code fails occasionally, it’s too slow to load, I’m leaking memory somewhere, the plasmoids need to line up with the infowindow better, and I got my CPU/FPU detection ass-backwards in a couple of places where you end up with worse performance on an A1200 than an A500) but on the whole I’m pleased with the results.

I now need to fix the bugs (although the memory leak is going to be a bitch — it’s a little under over 2K and not a major problem at the moment, so I might leave it unless it’s immediately obvious), then finish coding the effects: there are another three coded but that need tidying up, two partially written and needing completion, and one that’s finished but didn’t turn out as cool as I’d hoped so may get dropped.

Once the effects are all finished I’ll need to add parts for them, which in some cases is more time consuming than the coding — picking a nice palette, tweaking the timing, selecting parameters that look good all take time, and a bit like torture as I end up watching the same 5-second bit over and over and over and over and over and over… :O

Anyway, there’s an ever-so-slightly different version up now (I’ve played with the disk structure a bit to try and speed up load times) and I’ll try and upload a new version about once a week, probably at the weekend.

Started again!

November 24, 2008

I started from scratch (again) as I wasn’t happy with how things were going; I wanted to sync the effects to the music, but I didn’t think about that until I’d got to the point where it was too messy to add the capability retrospectively. What I’ve ended up with now, though, could conceivably be turned into some sort of demomaker type affair — I’m considering working on a tracker-style UI for it, but I want to finish adding the effects before I get distracted again!

Anyway, I now have something robust enough to test on real hardware, so if anyone wants a copy let me know. At the moment it requires a minimum of an A500+ (or presumably any other 2.0 machine with ECS and 1MB ChipRAM). Sadly it’ll crash at the end if you have less than 2MB RAM; it’s unfinished, and the lack of graceful cleanup at the current endpoint causes some problems but I’ve not got round to writing the cleanup code yet so you’ll have to live with it. 🙂 It’ll perform slightly better if you have a 68020 or above, so I guess the recommended system is an A1200 (despite it not neededing the AGA chipset).

Anyway, here are some shots. I’ll try and post something more interesting later. (Yeah, yeah, we’ve all heard that one before.)

Update: it’s available here.

Ok, ok…

November 14, 2008

By popular demand I’m going to try and keep this thing updated even if it kills me.  I’ll start with a little bit about the toolchain I use and some useful resources I’m relying heavily on, and see where it goes from there!

I write the code on my Mac, which may be cheating somewhat but I’ve got an editor I’m very comfortable with; I’ve got UAE set up with a hard-folder that all the source goes in so I can simply flick over to the emulated machine and compile; for that I’m currently using DICE 3.16, which works pretty well.  I did toy with using a cross-compiler on the Mac, but in the end I decided against it as it actually worked out a bit more complicated to set up, and as the emulated Amiga is pretty snappy the time saved in compilation wasn’t enough to justify the extra aggravation.  I may play with it further at a later date, but for now I’m comfortable with the way it’s working.

As far as help and documentation goes, AmigaU has some handy source examples, and Aminet is always a good place to look.

For the “creative” assets, the graphics are again a multi-platform affair: most of my images are created using Photoshop on the Mac then converted to IFF on the Amiga side using PicShow, and finally tidied up in DPaint V.  Music is the only thing that’s all done on the Amiga using OctaMED SoundStudio; for simplicity of playback I save everything as a PT MOD (the OctaMED player routines are a bit on the hefty side), but I find the OSS interface is a lot less hostile than other trackers.

I think that covers all the significant tools I’m using.  Next post will probably be some sample code, although to be honest I wouldn’t use anything I write as an example of how to do things the right way. 🙂


November 12, 2008

Solved my internet problems, but I got temporarily distracted by other things (mostly playing Settlers!) so I’ve been neglecting my posting duties; normal service will be resumed shortly.  (I just want to finish the mission I’m on!)

I’ve got to the stage now where I have some effects I’m happy with technically but they could do with some aesthetic tweaking.  Once I find somewhere to upload them I’ll post a link, although these will be debug versions.  I’d like to have people run them on as many different hardware configurations as possible and let me know what the debug output is; it’ll tell me how much CPU and blitter time I have left on real machines, along with memory usage and a few other bits and bobs.  I’ve run it under various setups on UAE, but I’d like some confirmation of the figures that gives me.

Temporary internet problem, mini-release imminent!

November 5, 2008

While on the whole my mobile internet connection is teh win, I seem to be having some problems with it at the moment so updates may be sporadic until it’s resolved — I can only get online by leeching an open connection elsewhere, and there aren’t any reachable from my house.  On the up-side, though, a preview of a couple of the effects should be ready in a couple of days, so stay tuned!

A couple of screens

November 3, 2008

Nothing much new to add; today was mostly spent doing real-life activities but I managed to grab some screens.  The first is your traditional scroller complete with bouncy letters — the relatively slack CPU usage here gives me time to unpack some stuff for later.  The second is supposed to be Kim Catrall (or at least that’s who I was aiming for) but you’d be forgiven for not knowing that without being told. Anyway, she’s covered by some transparent bobs, lucky lady.  She also crops up in a zoomer later. Click ’em to embigulate:

No demo is complete without a scroller.  Nudity?  No, ART!

It’s too late for more code, so I think a quick round of Minskie’s Furballs is in order before bed.  Laters!

Refactor, refactor, refactor

November 2, 2008

After meditating for a while I decided to go with starting from scratch, but retaining the original code as a reference point; rewriting things that already work is often soul-destroying, but so far I’ve been able to free up a few CPU cycles and implement the odd new feature that I had to skip last time owing to my legendary lack of planning.    I’ll grab a couple of screens of them in action later.

One problem I am having is memory footprint; ideally I’d like to get this working on machines with only 512KB, but right now I’m exceeding that by about 80KB.  It doesn’t sound a lot (especiallly to people who are used to machines having several GB of RAM; I have to keep reminding myself it’s 80 kilobytes, not megabytes) but right now the demo-assets aren’t really organised in RAM very well and I’m ending up with horrific fragmentation.  Once the routines are up to snuff I’ll spend some time trying to allocate things in a different order and see if modifying the effects sequence helps, but if worst comes to the worst it’ll have to be 1MB or over.  (Still only needs 512KB chipram, though, so pre-ECS machines will have a chance.)

For the depacking screens I knocked up a 24-bit to HAM6 convertor, but I’m not entirely happy with the results.  Can anyone recommend something decent or have any tips on how to optimise the base palette?

Ah, the things I do for fun!