TMR GIVES THE GAME AWAY!   Leave a comment


C64 Programmer's Reference Guide

You won’t find the answers in here!

I’m long overdue with the continuation of my series of articles “Oh That Would Be VERY difficult!”, because first of all I have to copy then delete some corrupted files off my phone and compact digital camera before taking some accompanying pics of the actual BASIC program. This will be posted soon. Meanwhile, here’s a surprise post about a shocking original post by TMR.

I have recently been shocked by the latest post on the blog C64 Crap Debunk by TMR. I couldn’t believe it when I read it after his three years of blogging that the Commodore 64 isn’t a pile of unprogrammable crap because he can somehow program it in Assembly Language/Machine Code. TMR refused to ever explain on his blog how this was possible, but now he has finally posted a video of a vertical scroller with accompanying music on with a link to the source code on , showing how it was done!!!!

Hypno spiral

Did someone hypnotise TMR into this revelation?

I don’t think TMR realised that by posting this, he was giving the game away, letting us into his “tricks of the trade” which he previously refused to give away any information about. Perhaps someone spiked his drink or hypnotised him into doing it. I can assure you it wasn’t me, but congratulations to whoever was responsible. I have saved the source code onto two of my PCs, in case TMR takes it down after it dawns on him exactly what he’s done.

The source code that TMR wrote is 403 lines long, but includes lots of comments. Below is a small portion of it.

; Stop interrupts, disable the ROMS and set up NMI and IRQ interrupt pointers
code_start sei
lda #$35
sta $01
lda #<nmi_int
sta $fffa
lda #>nmi_int
sta $fffb
lda #<irq_int
sta $fffe
lda #>irq_int
sta $ffff
; Set the VIC-II up for a raster IRQ interrupt
lda #$7f
sta $dc0d
sta $dd0d
lda $dc0d
lda $dd0d
lda #raster_1_pos
sta $d012
lda #$1b
sta $d011
lda #$01
sta $d019
sta $d01a

Some binary data, making up the music, as well as enlarged 20 column text (easily available from BASIC on better designed computers such as the BBC Micro, Amstrad CPC, and Acorn Electron) is read in from separate files, so this doesn’t give the reader any real idea how this data was created.

Of course, nothing like this program appears anywhere in the accompanying Commodore 64 Microcomputer User Manual, or the Commodore 64 Programmer’s Reference Guide (which only scratches the surface of Assembly Language), so I have no idea how or where TMR found out how to do this, but I think it may have been something to do with playing around with the more simple Commodore VIC-20, which also had the crappy Commodore BASIC V2, for some time before getting a Commodore 64.

This blog has no means of funding, I’m actually quite skint or broke, and my life is in danger from eviction by a property speculator, probably taking place in January 2016. If you’d like to make a donation, please send me an email on , then I’ll tell you how to do that.

Posted September 16, 2015 by C64hater in Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: