I am a relatively new computer owner and I want to learn machine language programming. As far as I can tell, my Commodore 64 contains a 6510 chip rather than the more common 6502.
A phone call to Commodore's corporate offices revealed that the machine language for the two chips is not compatible. The Programmer's Reference Guide directs all its instructions to the 6502 processor.
I am unable to find anything in print on machine language programming using the 6510. I would appreciate it if you could help me out. Are the two chips incompatible? If so, can you tell me how and where I might learn machine language for the 6510?
Unfortunately, the representative you talked to at Commodore was misinformed. The 6502 and the 6510 microprocessors are compatible. Both use the same instruction set (IDA, STA, etc.) and addressing format (low byte, high byte). Books on programming the 6502 also apply to the 6510.
The only major differences between the two processors are bytes one and two of the 6510. The 6510 allows you to bank switch memory.
The Commodore 64 has 20K of ROM, including the BASIC interpreter, Kernal, and Input/Output control programs. There is also 20K of usable RAM memory "underneath" this ROM memory. You can switch out the ROM and switch in the RAM memory by bank selecting blocks of memory. If you wished, you could turn your 64 into a computer with 64K of usable RAM memory by switching out all of the ROMs. However, you would have to supply your own BASIC interpreter, operating system, and I/O control programs. Without these, the computer would simply freeze, and you wouldn't be able to write or run BASIC or machine language programs. For more information on bank selection, refer to your Programmer's Reference Guide.
The VIC-20, which is equipped with the 6502 microprocessor, does not support bank selection of ROM/RAM memory.
A book on 6502 machine language programming will apply to the 6510. You might also want to take a look at the "Machine Language for Beginners" column in COMPUTE!'S GAZETTE, our sister publication.