Monday, February 09, 2009

SubVersion.

I've been trying to set this up again, but this time using Apache (since I have that installed anyway!). I've almost got it going, but for some reason apache can't see the repository. Its there, and the DOS commands can access it, but apache can't - must be something simple. Anyway, the reason behind this is because Russ has set it up on his machine and we reckon we can get it to share repositories so that I have a full copy of the history etc. Anyways, once I have it running Russ can start to help with the editor and the debugger and add features for the spectrum as he needs to. Once its running that is....

I've also finally gotten C# to give me the cursor keys! It's a bit of a hack to do it, but I finally managed to get a key up/down for them. This means I should be able to do cursor key movement in RetroEdit so you don't have to use the mouse. I didn't think this was important until I tried to use it on my laptop which only has those stupid PADs, it then became obvious that cursor key movement would be great! So I've spent a couple of hours trying to get C# to actually deliver cursor key inputs, and man was it yucky.... Still all done now, so I can now do the work to move around with them tonight.

Edit: Test....

Saturday, February 07, 2009

Tick tock....

Been a little bit since I did an update, so here goes. I've been busy playing games (of all things) so haven't done as much as I should have, but I am still making slow progress on RetroEdit. I picked an older game called The Witchers, a very pretty RPG. Now I'm not a huge RPG fan, but I do love games like Diablo which have small amounts of RPG goodness in them, and this is in a similar vain, so I've been having great fun with it. Theres a little too much running around, but it's pretty good fun all the same.

Anyway... I've added inserting, deleting and cloning of frames which means we are almost at a usable state, but before I get to use it I still need to add colour picking and project loading and saving. I've decided to use the good old IFF to store all my data as it means I can add new features without losing too much data if I ever need to upgrade. So I'm writing (another) IFF file processor that lets me load/save IFF files easily, and putting it in the RetroBitmap control which allows others access to it if they like.

Once I have these 4 things added (and it all going well it shouldn't take too long), I'll try and get Luca to test it - although he's been in hiding reciently, but if he resurfaces he can take it for a spin and we can get on with some real features instead of the core editing stuff.

I did start looking at Onion Skining, and its a little more complex than I wanted as the retro bitmap control would need multiple sets of data to render it itself. This means I need to add a fairly large command that can render any format the control can and then return the image for Onion Skining. It's a little bit of a fudge, but oh well...

Wednesday, January 28, 2009

RetroEdit small steps.

I've had a little bit of a problem with a virus I think, but have managed to revert things by rolling back a few days. This however has screwed with my source files - even though it said it wouldn't. Oh well...

I've finally managed to get the colour palette into retro edit so I'll need to do colour selection next. It's a little flickery though but I'll deal with that later, as long as it's working just now I don't really care. It's feeling a little sluggish on my machine so I may be doing something wrong, but I'll need to try it on someone elses PC first. I have the feeling its drawing WAY too often. I'm happy to say though that its finally making some headway and I hope to deposit the first version into Luca's lap soon. I'll need to get loading/saving into it first so I'll do that after colour picking/selection has been added.

You'll also notice its missing sprite sizes, I'll add this later as well - it shouldn't be too hard - although I'll need to save differently for each platform. Currently these are Plus4 (MCM/Hires) C64 (MCM/Hires) and Spectrum. I'll probably add CPC down the line - along with anyother computer/console I play with.

Small Basic.

For those who don't know, Microsoft development labs has released a new language called Small Basic. This is aimed squarely at the beginner. Do you remember how you started to program? Well, if your an old git like me it would have been on and old 8bit machine like the zx81, spectrum, Vic20 or Commodore 64 (or some other old 8-bit thing). The reason these machines were so cool to program with is that they were just so simple. Switch on and start. Basic was built right in and anyone could start and learn it.

Well, a chap at Microsoft called Vijaye Raji has started a personal little project that one day he hopes will be included with windows - like QBasic was with DOS. This is an amazingly good idea, and one I had quite a while back as well (see here), but typically never got very far with. He however is getting on pretty well and has now released a really nice little development environment that while a little buggy, is looking very cool indeed.

Theres an interviewwith him on Microsofts channel 9 which is well worth watching. This is something I'll be keeping an eye on and might even write a little something for in the future. Its very cool.

Sunday, January 25, 2009

Home again....

After my trip down to Warrington where I was able to take a side trip to Birmingham and get to the Commodore Computer Club meet it's good to be back home. I've decided an hour and a half is about as much as Im prepared to drive for a meet, and more and its a bit of a killer. This kinda rules out any others unless I happen to be in the area (like this time), or its particually large and I'm willing to stay for a couple of days; I'm getting too old for this shit... It was nice to be able to meet folk I'd been speaking to though, and gettting some faces to go with the names is great.

It's also the first time I've used my new iPhone for mobile web, and the map applications are fab. Asking for directions, or distances from where you are is a great thing to have on you. Safari was a little slow under 3G, but it worked and help pass the time at motorway service stations. However the battery life isn't wonderful so I kept feeling like I needed to switch it off. I'll need to see if I can find the PSU for it as being able to plug it into a wall to charge would have helped - if I'd but thought that far ahead....

I hope to do a little retro edit tonight, but I'm pretty pooped after the drive up, so lets wait and see....

Sunday, January 18, 2009

RetroEdit to-do list

So, heres my current to-do list. I'll update THIS blog entry as I change things, so you can always check back here to see where I am. I'll add a link on the right for easy access.

  • Paint with colour 1 (left mouse)
  • Paint with colour 2 (right mouse)
  • +/- to change frames
  • rotate frame (up,down,left,right)
  • rotate line
  • rotate column
  • Colour selection
  • Colour Changing
  • Cursor rendering
  • Cursor key movement or cursor
  • Copy frame
  • Insert frame
  • Delete frame
  • Colour Swap
  • Area selection
  • Copy
  • Paste
  • Brush paste (like a sprite, drops out the background colour)
  • Mirror
  • Flip
  • Save project
  • Save data (native format)
  • Load Project
  • Load data (native format)
  • Onion skinning
  • undo/redo

    Remember to check back here to see how I'm getting on.
  • Saturday, January 17, 2009

    RetroEdit.

    I've not been doing much past few days/weeks. With the flu over Christmas and now a cold I've not really been in the mood. However, I've decided to make an effort and have started back on RetroEdit.

    I've finished the refactoring of it an am now happy with its layout and internal code construction. Basically, the old control I was writing delt with retro graphics in an abstracted way, and so you had to do some work to use it, now however the control deals directly with the raw format which means all you need to do is copy actual retro graphics data into the control and your all set.

    So with this done, I've started to plow ahead with some features. Actual editing is obviously first, and I can now draw pixels with the mouse in both hires and multi colour modes. This is also true for C64 and spectrum editing. I've also put in sprite rotate left and right, and am about to do up/down.

    Once I've done this I'll add colour picking. Currently I have 2 default colours and you can't change them - this obviously has to change to be of any use, and as its a biggie, I'll do that next.

    I'm sure I listed these before, but it must have been ages ago so here it is again; the feature list I want in for version 1.


  • Paint with colour 1 (left mouse)
  • Paint with colour 2 (right mouse)
  • +/- to change frames
  • rotate frame (up,down,left,right)
  • rotate line
  • rotate column
  • Colour selection,
  • Colour Changing,
  • Copy frame
  • Insert frame
  • delete frame
  • Colour Swap
  • Copy
  • Paste (+background)
  • Brush paste (like a sprite)
  • Mirror (+around selection only)
  • Flip (+around selection only)
  • Save project
  • Save data (native format)
  • Load Project
  • Load data (native format)

    If theres anything else that you think is a must have, then let me know. I've no idea how long this will take me, but the sooner the better. Currently it lets you edit Plus4, C64 and Spectrum sprites although I still have to put real support for the C64 sprites.
  • Wednesday, January 14, 2009

    Powering up.....

    Because I was ill over Christmas, it's actually been a while since I did any real work at home. So I thought I'd make an effort to get over this and actually DO something!

    To this end I've resumed the refactoring of RetroEdit and decided to get editing actually working and usable. So now that I think I've actually finished the refactor I was wanting, I've started to write the editing features. I've currently got hires sprites being editing, so I'm about to try MultiColour Mode ones. I'll then do some basic features like scrolling the whole thing around the window, flip etc. then move onto colour editing.

    I need to get the selected machine's palette drawn so I can pick colours and then I need to tackle saving. I'll need a PROJECT save, and a binary save. I'll also need to allow plugins so that folk like Russell can save formats he wants to deal with; although he may well end up doing his own editor, but others might need it so...

    With a bit of luck, most of these shouldn't take very long, and I can take the core of the sprite editing and move it to the character editing tab. The core concept of this is a special RetroBitmap control. This allows you to deal with retro graphics directly without having to write huge chunks of code over and over - its also a standard control so others could use it in their own projects if they wanted to.

    Thursday, January 08, 2009

    Back to normal?

    Well, not quite.... I've just gotten my new cable modem installed which has boosted my speed to an increadible 50mb/s!! I've also just discovered that my trusty Linksys router can't keep up, so I'll have to retire it and get a faster one, other wise I'm stuck to around half speed - damn.

    So, I need to put my room back in order (theres upturned desks and what-not) then I can setup the plus4 again and start to get back to work. I've been thinking about my electronics again, and I really want to get back to doing some more - before I forget it all, and this lead me to thinking about doing a better download system. You see, as it stands I need a parallel cable/port and thats limiting - particually since I have to switch my machine off/on to enable the driver and plug in the C64 or Plus4. So I was thinking about a USB cable. Theres a few USB to serial cables, and if I did that (along with a PIC or something at the other end), I could pretend its normal parallel cable on the Plus4 side, but do serial on the PC side. This would also mean it was suddenly hot plugable, and allow me to plugin multiple machines at once; not to mention being able to download without rebooting.

    So, I may start to look at that kind of thing this year too.

    Thursday, January 01, 2009

    DO.EXE

    So... one of the big issues I had with upgrading to Vista64 is that a lot of my ( really, REALLY ) old tools stopped working. Now most I can actually do without, but theres one that I've actually been running under DOSBOX to keep. DO.EXE is a simple programmers calculator that I wrote back in the Shadow of the Beast days and does proper programmer calculations. That is it deals with HEX and BINARY as you'd expect, but also does AND, OR, XOR, NOT, Shifts and all the rest of it. In fact, I use it a lot just to convert numbers from BINARY to HEX since C/C++/C# doesn't take binary (its a crime I tells ya!). The old program was written in Turbo Pascal 7 and was very 16bit, and while I had the source there was no way I was gonna "update it".

    Well, every since I started my debugger in C#, I had a brand new evaluator doing exactly the same thing, but in a processor (and machine!) nutral langauge! So I've finally pull out my logic prob, and blasted its little binary brains all over the back wall and updated it. Now, I know theres a million similar little programs out there, but I like the command line one, and I like that it takes the same format as C/C++/C# and even Java, and since I've always got a command line open, its ideal. CALC (and others like it) have just never cut it for me.

    Anyway... I thought I'd be nice and release this into the wild and let others play with it. Its not hugely tested (so feel free to let me know any issues) but its an invaluable tool. Even simple things like getting bit patterns into HEX is a simple case of just typing it in.

    Anyway...enough drivel...You can get it HERE. Shove it into your path somewhere then just type "do" on the command line for options. If theres any doubt in an expression, use brackets. I've not listed any expression order because it's different from all other compilers and that forces you to use brackets more to make sure the answers right. If theres anything else you think folk would like added, feel free to suggest it.

    I hope some of you get some use out of it. It's the single most used tool I've ever written - period!


    http://www.javalemmings.com/blog/do.zip