We have a new home!

Posted: December 28, 2014 in Uncategorized

I’ve been working on Commodore is Awesome and Vintage is the New Old websites for some time, which explains why this personal blog has not been updated properly for several months.

After some consideration, I’ve decided to keep blogging about programming techniques for vintage computers on Vintage is The New Old. I’ve moved all my posts to there, and I will add more very soon.

If you haven’t done, check the website, and subscribe to the RSS so you will keep up to date!

My blog now can be found at http://www.vintageisthenewold.com/blogs/good-old-days/

And the main site is at http://www.vintageisthenewold.com

I hope to see you there!

So this is the end. The Retrochallenge is over and I couldn’t meet the deadline with a complete working game as I planned and promised.

Although I couldn’t finish the game, I have a very good foundation ready, and if I had about six hours more, I would finish it. That’s too bad to get so close and not be able to complete the challenge, but I am the only to be blamed about it. But I won’t do it, because I will continue to make the game until it is done – maybe I could do it for the Winter Challenge!

In the small video below you can see the game was getting there, and I was able to manage to use Player/Missile techniques with the goalie, player and the ball. Although the ball is the only animated on the video, the plan is to make the goalie to jump to try to catch the ball.

The joystick directions will set the direction the ball will be kicked towards the goal, and the gauge on the bottom right side indicates the precision of you kick – Closer to the centre you click the button, more precise will be the kick.

One of the problems I had to develop the game was that I spent too much time with the math to make the ball go towards the selected point. Although the formula was simple, it took me a while to figure out that the P/M coordinates are different than the ones on the playfield. It was explained on several different places but it slipped from my mind when I was coding that part.

During the next week I will also try to capture and make the source code available here. Stay tuned!

Having work with Microsoft BASIC most of the time, I have the clear idea how strings work in BASIC, but few moments after starting to work with Atari BASIC my world feel apart!

First, in Atari BASIC you have to declare string variables before using it, giving the maximum size that string will need and for that you have to use the syntax:

DIM A$(10)

When I first saw that syntax I thought “oh, it is declaring an array of 10 strings” but in fact, it declares a single string with a length of 10 characters. As far I can see, there is no array in Atari BASIC and to use something similar you have to manipulate a big string as if it is an array of strings using the index. There are several places on internet with great explanations about Atari strings, so here I just want to point few things:

  • DIM A$(10) – Declares a string with 10 characters
  • PRINT A$(2,5) – Prints out a string containing the characters from 2 to 5 – the equivalent in MS BASIC would be PRINT MID$(A$,2,3)
  • A$(2) = “AWESOME” will add the “AWESOME” string from the position 2 onwards.

This all is actually pretty cool and way more versatile than the Microsoft way to do it, in my opinion.

The Cassette

One important part of the Retrochallenge is only use the actual computer and a cassette tape as storage unit. This alone turned out to be a very hard thing to do, because when I am learning something new, I like to keep
saving code snapshots with small tests all the time, and to manage several small programs in cassette is very difficult.

The main game itself is being saved in two different tapes to be safe, but the small programs where being saved in one of them, after the main program. I decided to give some “tape counters” room between the main program and the tests. For example, the game is recorded at position (tape-counter) zero, and the first test program at position 30. I didn’t realize that 30 is too little and my main program is quickly reaching this mark as it grows.

I will keep following this idea where I determine fixed gaps to save programs, but I will try to give way more room between the end of one and the beginning of the other. For that it is mandatory to keep a up to date directory on paper! That is so old school!

Are you looking for some Commodore 64 technique? Bad timing! We are in the midst of Retrochallenge Summer, and for the month of July I’m all Atari!

Today I managed to draw the playfield, which is going to be a view of the goal area in 3D-ish view:

Playfield almost ready

Playfield almost ready

The first concept that I had to grasp is the Atari colours and how to use them. Atari graphics work with the concept of colour registers, with a total of 5 registers available.  Since I’m using the graphic mode 7(+16), I have four colours available, one background and three colours, so I will use only four of the registers.

Read the rest of this entry »

It is been a busy week at work leaving no time for the Retro Challenge other than setup the machine and read some books about Atari Graphics. After a lot of thinking I’ve decided what is the game I’m going to make (or die trying!): World Cup Penalties It seems appropriate since we are going towards the World Cup 2014 finals to make a game using that theme. An actual soccer match seemed way too much for a month of BASIC programming, and a 70’s pong-like soccer game would also be too little for my Atari 600xl! With that in mind, I decided to make a Penalties game, where two players alternate between defence and attack which I believe is a doable yet fun game to make.

Too little for the Atari 600XL

Here is my plan: Read the rest of this entry »

I’ve learned few weeks ago about the Retrochallenge that happens every winter and summer, which is , according to its website,  a loosely disorganized gathering of RetroComputing enthusiasts who collectively do stuff with old computers for a month. The challenge will be held from July 1st to 31st.

Excited about it, and with tons of interesting stuff to do but very little will power, I decided to enter this year as a way to motivate myself to do something new retro-wise.

I know this is a Commodore 64 blog, but I am a big fan of all 8-bit machines I can put my hands on, so for this challenge I’ve decided to do something with my latest acquisition: an Atari 600XL! To keep the Commodore lovers under control, I’m calling this challenge the Blasphemy Edition, since I am going to use a less sacred machine. Don’t worry Atari lovers, I’m saying that only to please the Commodore lovers. Don’t worry Commodore lovers, I’m saying that only to please the Atari lovers. Don’t worry….(repeat until you get tired).

Here is my challenge proposal:

– Create a game in BASIC that uses graphics and the player/missile resources. The game will be simple but it has to use those techniques – theme is still TBD (it will be defined before July 1st)
– All the work will be done in the actual Atari 600xl with a cassette tape as storage device. I won’t be using any modern resource like emulators, SD2PC devices, etc.
– I will be blogging the experience in at least a weekly update here under the title “Retrochallenge 2014 – Blasphemy Edition”
– The final result will be made available for download at my new website as soon as I can send the program to my PC (I don’t have the means to do it right now)

If you want to follow me during this journey, subscribe to the blog or follow me on twitter!

 

Retrochallenge 2014 website: http://www.wickensonline.co.uk/retrochallenge-2012sc/

Demo of the Month – June

Posted: June 8, 2014 in Commodore 64, demo

My choice for Demo of the Month for June was hard. The month is still in its first half, but I think we already have a clear winner: Cookie from Commodore is Awesome. It is a nice single file demo, with a great tune and great graphics. However, what makes me choose it is the clever coding, matching the lizard’s tapping with the beat of the music and the awesome eyelids animation. It is pretty cool.

The demo participated on Flashback 2014 C64 Old School Demo Compo, getting the 4th place.

Cookie Demo

There is no YouTube video yet, but you can download it from CSDb and try it on any emulator or real hardware. Just remember that the demo is in PAL, so make sure you set the emulator accordingly.

Oh, I forgot to mention that this choice is totally biased, because I’ve coded it – it is my first demo entering a competition! I will try on the following days to publish some programming techniques I used to code the demo, since this is suppose to be a programming blog! Of course, Cookie wouldn’t be possible without the great graphic by Crayon, the music by Nooly, and the entertaining scroller text by Kitty.

On the link below you can download the demo, vote and add your comment. I’d love to hear what you think of it ( even if you don’t like it, be honest! )

Link: http://csdb.dk/release/?id=131297

 

This month I spent quite some time selecting a demo to show, and it was a hard choice to make. I think one of the criteria I use to select the demo is when I think: “How that guy can make something like that!”. Based on that, my choice is Wonderland XII by Censor Design.

Check the video below or download the file here.

 

CBM prg Studio v3.0.0 has been released. The main new feature in this version is support for the 65816 processor, both in the assembler and debugger. This was a large piece of work which is why there has been a much longer wait than usual. Other new features include:

  • Some support for the VICE debugger (transfer of labels and breakpoints),
  • Bitmap import/export for character editor,
  • Binary file import to Assembly source,
  • Line and rectangle drawing tools for the screen designer,
  • TASM support added to Source Converter tool.
  • Also there’s a ton of bug fixes from v2.9.0, see CBM prg Studio website for details.

Visit: http://www.ajordison.co.uk/

My first Commodore PET

Posted: May 3, 2014 in 80's, Commodore 64

I finally have one! For a long time I wished to have one unit of the first Commodore personal computer, and the time has come! The only detail is that in my case, PET stands for Paper Electronic Transactor!

Yes, while I cannot have a real one, I am very happy to have a miniature made of paper. Here is the beauty:

 

My paper model of a Commodore PEt

My paper model of a Commodore PET

My son was always interested in build paper models, and the Internet has thousands of thousands of everything that you can imagine to be built using paper, mostly using the software Pepakura. Seeing him having fun with something he was building I wondered if there was any paper model of Commodore computers.

For that specific software I didn’t find any, but I was able to find two Commodore paper models that you can download, print, cut and build yourself.

The first one is my PPET (Paper PET), available as free download at the German website HomeComputer Museum, and it is very

PPET hanging out with its great-grandson!

PPET hanging out with its great-grandson!

easy to assemble. It consists in three sheets of paper containing the base, the main case and the monitor.

The second model I’ve found is a Commodore SX-64, and the author, Erik Schubach, made the sheet available for free on his website: http://www.erikschubach.com/vintage/sx-64-paper-model.php. I haven’t tried this one yet, since it seems a bit more detailed, but I will build it soon.

I would recommend to print the sheets using 120g or 180g paper, so you can get a sturdier finish model. To cut the sheet I used a Xacto knife. It is also useful to make the paper to fold easier. For that, apply the knife very lightly over the lines meant to be folded. White glue is perfect for that, although hot glue is better if you know how to use it without making a mess.

If you know where to find more paper models for Commodore computers, please leave a comment. If you are talented enough, try to make a new one using the Pepakura Designer – I will be thrilled to see and try your work!