In 1985 I wrote an implemention of CoreWar on the Commodore 64 using the built in BASIC language. Just the other day I was contacted out of the blue by John Metcalf who is writing a book on the history of CoreWar (next year, it seems, is Corewar’s 30th anniversary). John had seen my reference to a long ago written C64 Corewar implementation in my blogging bio and was contacting me to see if I still had the source for the program.
My C64 BASIC source code for CoreWar did not make the digital leap to the Internet, LAN networking, or even modern storage technology I’m sad to say. However, it did survive in the form of a printed listing. The print out combined with my pseudo code notes should all but guarantee success to anyone feeling up to the challenge of typing in the nearly three pages of source.
The pseudo code consists of a varible listing with explanations and a top-down design of key modules of the program. The actual source code is a print listing from a vintage Commodore printer. You can download everything at once as a tarball by clicking here.
My inspiration for writing the implementation was firstly, having a computer with 64K of Ram. In 1984 with a purchase of a Commodore 64 I felt sure I’d died and gone to heaven. I immediately began to cast about for a good programming idea to put the Commodore to it’s limits. Secondly, a College Professor friend of mine, Dr. Steve Badger told me about an article he’d read in Scientific America about some kind of Core War wherein combatent programs duked it out to see who would be victor. Having a competitive streak in me a mile long and considering myself the equal of any programmer I knew led me to the Eudora Welty Library where I purchased a reprint of the article for perusing and consideration.
The article turned out to be a monthly column entitled Computer Recreations written by A. K. Dewdney. The May 1984 issue was subtitled with “In the game called Core War hostile programs engage in a battle of bits.” I knew immediately it was an idea ripe for my task.
Licensing and Feedback
Please consider my source code free for personal use. You may copy and distribute any way you please. If you do get the source going again I’d love to see a screen shot!