New answers tagged

1

I'm used to the NES where you have to write everything yourself, such as the NMI/RESET/IRQ vectors, etc, but from what I understand the BIOS takes care of all that for you The "BIOS" in the Commodore 64 is the Kernal. The Kernal does handle IRQs and NMIs, but before it does, it indirect jumps through a RAM vector (different than the hardware 6502 ...


0

there is no BSAVE command, unlike that apple II. there is no built in ML monitor either. People usually would use a monitor program in a cartridge to do this. Even the famous fast load cartridge (which nearly everyone in the US had, or something similar) has a monitor in it. with the help of a monitor you can usually enter a command similar to s "...


8

BASIC 2.0 on the C64 is well, pretty basic. Surprisingly, it doesn't support any of the graphics or sound hardware in the C64 apart from Kernal terminal-level I/O, and it does not have a binary save or relocatable binary load instruction. The C64 Kernal has a binary save call, and it's possible to call the Kernal directly from BASIC using POKE and SYS ...


2

A lot of memory-mapped I/O is NOT read-write. You are imagining the I/O port is like a byte of memory that you could read and write. No it's not. (unless the manufacturer spends some extra silicon to make it so). For instance, I'm just making up a hypothetical here, but A808-9 might be A808-9 reading: value 0-255 for analog joystick #1 input, X and Y axis, ...


38

I have looked all around online, but I cannot find on how to do this. Well, you won't, as the C64's BASIC2 does not provide such function or a monitor. The old PETs had TIM in ROM, while BASIC 3.5 for the TED series (C16/etc.) and 7.0 for the C128 offered TEDMON. The VIC20 was left without and the cheap quickhack C64 was based thereon. I don't want to use ...


5

Other answers note that most SID chip registers are write-only, but didn't really go into why. When connecting storage elements to a bus, separate circuitry is required to read and write them. If a device has many storage elements whose state need not be made available to outside electronics (as would be the case for a RAM), all of the storage elements can ...


26

I think your ORA D404 instruction is trying to read from the SID registers, which is not possible. You can't rely on the value read from that address. Register 04 is write-only. If you want to do read-modify-store on a SID register, you will need to keep a copy of the SID registers in RAM. That way, you load the old value from RAM, do your operations, and ...


Top 50 recent answers are included