16
Dec

The Ultimate Commodore 64 Talk

Posted by: Ichimusai in English

The Ultimate Commodore 64 Talk @25C3.

I can’t help myself now. This just brought back too many memories from when we used to sit around and hack the C64.

Opening borders, doing colour bars, trying to extend sprites in the border, doing real time animations…

Good article for those who missed out on the eighties…

Tags: , , , , , , ,

This entry was posted on Tuesday, December 16th, 2008 at 21:25:46 and is filed under English. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

2 comments so far

 1 

Did you ever copy code from magazines and books? I did, that was my first intro to programming. In a way I feel sorry that there is no easy, accessible, way of learning the basics of programming nowadays. Then again I guess those who catch on have other ways of collecting knowledge and getting creative.

TMTOWTDI

December 17th, 2008 at 10:21:09
 2 

Yes I did!

I started off with a VIC-20 and in the manual there were 3-4 listings for pretty nice (at that time) computer games. There was an endless entering of DATA statements for the graphics and if you made a mistake it was almost impossible to find the line where there was a problem.

Later listings usually included a checksum of some kind that could catch some typos if you entered the DATA statements incorrectly but it was still a lot of trial and error in this until you actually got it to run properly. Later on the DATA statements was actually machine code that was POKEed into memory and then executed by means of a SYS statement and that’s about when I got myself a C128D.

I was in School then, about seventh grade I think, I worked extra in the whole summer to earn the money and my dad still pinched in with half the money for it (at least) and we bought it for something like 6 000 SEK. A lot of money at that time and I had that all the way through basic school until my first year at upper secondary school when I got an Amiga500.

On the C128D I learned assembler and I used to boot it in C64 compatibility mode so I could make demos and other things. I was fluent enough to be able to set up raster IRQs, do colour bars, scroll texts, sprite movements and everything without looking in any manuals or ROM guides. I knew by heart most of the addresses of the VIC chip. I was not that good with the SID chip but when I wanted music with my stuff I used a software called “Future Composer” that enabled me to compose in a “tracker-like” fashion and then save the songs complete with the code to run it. The code was then copied in to your own code and every vertical blanking of the screen you made a call to the routine that played the music.

I learned so much from this. I knew binary, hex and octal number systems already by 7th grade and it started my life-long interest for science and math. I still fall back on some ways of coding now today that I learned those days, this is especially true when working on hardware-close embedded sytems and things like that.

On the Amiga I learned C. I bought the Lattice-C compiler v1.41 for 2 000 SEK and worked hard at writing hacks in it. I never really know when I “learned” C, it just came to me during that time. I also used AmigaBASIC which was a very powerful BASIC at that time although I still resorted to assembler quite often. I regarded the C compiler as a very competent Macro Assembler and kept writing C codes ever after.

Then I got an old 386SX-25 from a friend who had spare computer parts laying around. He put it together for me with a small harddisk, I can honestly not tell you exactly how big that was, perhaps 40 MB or something, and then I got my hands dirty in Linux for the first time. I still used the Amiga in parallell and I ran a Fidonet enabled BBS for several years (2:205/309.0 Valhall BBS) and I used a software called Xenolink that I bought for it. It was good times, I wired my neighbour up to my 386 as well using a 3 wire serial cable so he could log in as well. Proper multi-user.

I then had a friend who were 15 years older or so and he worked at a bigger company in the same city where I lived. He created an account on their mainframe for me to play around with and so I could dial in on their modem pool and do some hacking there. They were ULTRIX machines and for the time some of the more powerful machines in Sweden.

I then got a summer job at Fagersta Data AB, one of the last companies running mainframe computers. They ran statistics for SCB (Sweden’s central statistics bureau), and SELGA a large distributor of equipment for electrical installations, they did all the Swedish electrical bills at the time and that experience there was something that I will never forget.

I saw punch card readers, old IBM magnetic tape stations, they had a series of them where the tapes spun back and forth. I worked often on the night shift together with one or two other operators just watching the batch processes run. At the time they had a serious programming department with something like 20 people working there writing the software for the batch processes that ran day and night.

They were good times and I learned a lot and I sometimes very much miss the simplicity and “hands on” approach to programming that the old Commodore computers gave people. I mean, some of the great games were written by teenagers then. Today you need a couple of university diplomas to even understand the 3D graphics and the modern processors that sits in today’s computers. Not an easy stepping-stone for someone eager to learn but missing the background math that is so necessary these days.

And few computers can boot straight into a BASIC interpreter or similar place where you can take your first small steps towards becoming a Real Programmer. Who has not tried the following code:

10 PRINT “MY NAME IS ANDERS”
20 GOTO 10

And then modified it more and more, learned about loops, about conditional testings, logics, math, how to solve problems with algorithms.

In today’s world hardly anyone uses these simple languages such as BASIC and COMAL and other languages designed to be easy to approach, forgiving and very much hands on.

COMAL by the way was a sort of cross between BASIC and Pascal. It had some of the structures you find in proper languages but yet retained the simplicity of BASIC. Once you outgrew BASIC you could learn how to do more advanced programs in it and still work in the same environment. I wrote a “pocket calculator” simulator in COMAL in 8th grade that could take an input string such as “38*2+4″ and evaluate the result with proper priority to + and * operators. Sounds easy but it is actually a bit tricky to do.

In school we had Compis Telenova computers. The Swedish schools and Esselte had them designed specifically for entry level computer students. Great machines but the Commodores where much more interesting since they had really good graphics and when you got tired staring at the code you were trying tro write you could just load a game and play for a bit.

I miss those times sometimes.

But then I am also a very nostalgic person…

December 17th, 2008 at 18:28:42

Leave a reply

Name (*)
Mail (will not be published) (*)
URI
Comment

You can add images to your comment by clicking here.

Anti-Spam Protection by WP-SpamFree