Forgot your password?
typodupeerror

Comment: Re:Commodore 64? (Score 1) 330

by Warui Kami (#31599718) Attached to: Commodore 64 Primed For a Comeback In June

You could remap the ROM-space in basic, too.

There was 64k of ram, and only 64k of address space, so the ROM was using some of that address space by necessity. You could remap the address space to RAM-only but that would cause several things to stop working. The trick was to copy some parts of the ROM to RAM and then you could change the pointers to things like where the screen-font and such that were usually in ROM were now stored. As long as you did some prep-work, it was easy to run with a flat address space available to you. This technique was used a lot of the time to be able to edit bits of the ROM while still remaining in a fairly standard environment.

Also, the difference between BASIC and assembly could be fuzzy. I still have a book on machine language for the C64 which starts with simple programs being entered in basic using DATA statements combined with POKE and READ to load them directly to memory and then manually set the instruction pointer to the beginning of your program. All that was do-able in BASIC, which is how I wrote an assembler in ML via BASIC to allow me to use opcode names instead of remembering that LDA == $A9 == 649 decimal (load a value into register A).

OK, I admit I looked up that opcode, but it's been 20 years. :) I was 8. :P

Saliva causes cancer, but only if swallowed in small amounts over a long period of time. -- George Carlin

Working...