Questions tagged [commodore-64]

For questions about the different versions and products of the Commodore 64

Filter by
Sorted by
Tagged with
11
votes
0answers
258 views

Oxford C compiler for Commodore 64

I kept one floppy from my Commodore 128 (which I used mostly in C64 mode), which is written Oxford C compiler. It is a 5.25" floppy. Don't ask me why I kept just this one; probably because I thought I ...
5
votes
3answers
391 views

Which cartridges were typically used together on Commodore 64 systems?

It's possible to extend the Commodore 64 expansion port bus with boards like this one: Thus it was physically possible to have more than one cartridge connected at once, though whether these would ...
2
votes
1answer
330 views

How did “RAM” cartridges for the C64 work?

Section 7.1.1.2 of the VICE manual mentions that cartridge slot 1 (of the four slots 0, 1, Main and I/O) in the emulator is special in that it's designed to support "mostly RAM-based cartridges" (of ...
11
votes
1answer
408 views

Under what circumstances would RAM locations 0 and 1 be written and/or read on the C64?

To be clear, I'm talking about the actual memory cells at addresses $0000 and $0001 in the DRAM chips. Devices can of course initiate read or write requests to these address on the address/data buses ...
6
votes
1answer
300 views

Could the Commodore 64 have used the 6522 VIA instead of the 6526 CIA?

The VIC-20 used a 6522 VIA chip with a couple of 8-bit PIO ports, a couple of timers and a (buggy) shift register. (The bug in the shift register could be worked around with external hardware or in ...
5
votes
1answer
174 views

Is it safe for C64 cartridges to respond to read and/or write requests on “unmapped” addresses?

According to the C64 wiki, asserting G̅A̅M̅E̅ on the cartridge port (and not asserting E̅X̅R̅O̅M̅) of the C64 leaves three blocks of the C64 address space "unmapped": 28 KB @ $1000 (otherwise RAM), 8 ...
0
votes
0answers
86 views

What cable do I need to connect my old commodore64 with a tv (as monitor) [duplicate]

I want to use an old commodore64. In the 80s we connected a small tv, as a monitor, but the cable for that connection is missing. What kind of cable connection do I need?
33
votes
3answers
3k views

Why did the VIC-II and SID use 6 µm technology in the era of 3 µm and 1.5 µm?

In short, 3 µm looks like it was the "standard" process size at the time, and it was available to Commodore before the chips were designed. Therefore it looks like using the larger 5 to 7 µm process ...
9
votes
3answers
209 views

Commodore 64 with partly working keyboard (part 2)

I have a C64 that has recently stopped responding to two 'columns' of keys, namely '9,0' 'i,o' 'j,k' and 'n,m' - I've swapped the CIA chips (U1 and U2) to no effect, so I pulled a keyboard from a ...
5
votes
0answers
185 views

Origin of VIC-II (PAL) chip labelled 8656R2?

Wondering why a C64 VIC chip (fully functional) that I got off eBay had an 8565R2 label fitted on top of it: I peeled it off to find this: I haven't ever heard of a VIC-II (PAL) labelled MOS 8656R2. ...
11
votes
2answers
351 views

Commercial C64 software implemented in Forth?

There has been several implementations of Forth that were running on, and targeting, the C64. Were there any commercial software releases (not throw-away hobby projects or in-house utilities) that ...
3
votes
1answer
276 views

Did any devices use the Commodore 64 joystick ports as outputs or two-way communications ports?

Looking at the schematic and explanation of how the C64 joystick ports work, it seems clear that the stick direction and button lines (JOYA0, through JOYA3 for port 1 and JOYB0, through JOYB3 for port ...
7
votes
3answers
366 views

How is PETSCII used by assembly-language programs?

First, a bit of context. I wrote an interactive disassembler for 6502 code that, among other things, attempts to identify ASCII strings automatically. Appropriate source code for different assemblers ...
7
votes
1answer
313 views

How did the Sinclair compare on price with the C64 in the UK?

As far as I know, the popular low-end home computers in the UK around the mid-1980s were the Sinclair ZX-Spectrum ("Speccy") and the Commodore C64. I know the BBC micro also had a following, but my ...
37
votes
3answers
5k views

How did C64 games handle music during gameplay?

On the C64 there was no threading, so how did games handle treating at the same time music and game code? Music requires exact timings, and the SID had to be instructed to change the note at the right ...
9
votes
1answer
286 views

Understanding C64 Character Memory

I'm trying to understand how video memory worked on the Commodore64 in text mode. I see that the VIC-II has a memory setup register (at $D018) that keeps track of some of this information along with ...
2
votes
1answer
164 views

Pac-Man-like: Playing a Excavator bucket or mining drill on a cable

I remember playing this game on the C=64 in the late 80s or so. It was 2d 'platformer' arcade game where you have to clean the screen from pills like Pac-Man, but in a different way. You would always ...
6
votes
4answers
851 views

Was the output of the C64 SID chip 8 bit sound?

Was the output of the C64 SID chip 8 bit sound? I know that SID is not sample based, but instead generate its sound using sine waves and white noise. So is it correct to say that the audio ...
5
votes
1answer
298 views

Where are the pullups for the Commodore 64 keyboard matrix lines?

I'm looking at the schematic and the Service Manual for the Commodore 64. I can't seem to find a schematic for the keyboard itself. It seems clear that the control port 1 joystick has normally open ...
5
votes
0answers
241 views

Does the Commodore 64 power switch have a history of failing?

My original (1983?) Commodore 64 (brown breadbox with grey function keys) has trouble powering on. Specifically, when I flip the power switch the power LED will glow dimly and the machine fails to ...
36
votes
4answers
4k views

Why are C64 games inconsistent with which joystick port they use?

The Commodore 64 has two DB-9 joystick ports. If I'm the only person that ever plays games on it, you would assume that you could just leave a joystick plugged into Port 1 and be done with it. However,...
6
votes
4answers
574 views

C64 cartridge emulation with ATmega

As a personal project I had the idea to create a custom cartridge for my Commodore 64 and use an ATmega 1284p microcontroller to emulate eproms and/or custom chips. Basically my idea is similar to ...
5
votes
2answers
369 views

Is there a program I can run on the C64 to speed up booting of a game?

Though I had several friends back in the day with a Commodore 64, I only recently acquired one after a friend gave me his old one before he moved house. As such, I'm diving in to learning about the ...
3
votes
2answers
207 views

How can I use the Commodore KERNAL to print a character to the screen?

The routine at 0xffd2 which is called chrout will print a character to some output stream. I would like to use this call to print a message to the screen, but I have a file open for output on a disk. ...
4
votes
4answers
514 views

How can I implement the modulus operator in Commodore 64 Basic?

How can I implement the modulus operator in Commodore 64 Basic? There are not a lot of math functions to work with, and modulus would be very handy.
6
votes
3answers
528 views

Can the Commodore 64 display 26 rows of text?

I seem to remember some demo, or a game, which displayed 26 rows of text (that's one more than the usual text mode resolution of 40x25). My memory of it is very hazy, but at least is corroborated by ...
9
votes
1answer
752 views

Looking for a specific 6502 Assembler

I found some 6502 assembler code for a Commodore 64 program that uses meta commands like #include "foobar", define the address to be assembled to via *=$1234 and define labels without a colon. ...
12
votes
1answer
755 views

Was the Spartan by Mimic Systems a real product?

I was flipping through an old copy of RUN magazine and came across an advertisement for a product called "The Spartan" produced by Mimic Systems. I had forgotten about this product completely, but I ...
33
votes
2answers
3k views

Why did the C64 have ← and ↑ as dedicated keys?

I've always wondered why the Commmodore 64 had discrete keys dedicated for the ← and ↑ symbols. If I remember correctly, they weren't used in BASIC at all, and were not very useful for drawing, ...
5
votes
2answers
364 views

C116 vs C64 cost

The Commodore 116 was the start of the ill-fated TED line of 8-bit computers, which sold poorly (for several reasons, particularly including lack of compatibility with the Commodore 64) until they ...
1
vote
1answer
400 views

How to add Final Cartridge III to VICE C64/128 Emulator

How do I properly add Final Cartridge III to VICE Emulator? In the file menu, VICE has an item Attach cartridge image... which splits up into CRT Image but also a list of several cartridges, among ...
6
votes
3answers
381 views

Why do we need to acknowledge the interrupt from VIC-II?

A page on how to do raster interrupts includes the following code Irq: LDA #7 STA $D020 ; Turn screen frame yellow LDX #90 Pause: DEX BNE Pause ; Empty loop that "...
6
votes
1answer
454 views

How did the C64 interface tape drives?

How did the C64 interface tape drives? I'm aware that the external interface was basically a audio input - but how was this audio converted into digital data, and how was it loaded into RAM and ...
2
votes
1answer
148 views

Is it possible to switch the interrupt source of the C64 to VIC without changing the IRQ routine?

The ROM IRQ routine at $EA31 is usually trigggered by the timer interrupt 60 times a second. Is it possible to switch the interrupt source to VIC and still use the same routine? If yes, which memory ...
5
votes
2answers
376 views

How to exactly sync to the raster line for a vertical raster split?

Motivated by Wilson's question Can a Commodore 64 use two screenmodes on one scanline? I tried to implement a simple example that polls the beginning of a rasterline and then switches the screen mode ...
4
votes
2answers
339 views

When were sprites first displayed in the border area?

I assume one of the first undocumented effects on the VIC-II was the ability to display sprites in the (upper and lower) border area. I wonder how and when this was first discovered and used? Was it ...
4
votes
2answers
364 views

Why does the Commodore 64 leave these pointers in Zeropage?

I'm trying to decide on what I can get rid of from the zero page, so that I can keep my own data there. Looking at this page, documenting what each of the zeropage locations do, I'm trying to figure ...
6
votes
3answers
874 views

Commodore 64 with red and white RCA cable

After discovering my old Commodore 64 in the garage, I wanted to test if it still works. The power light comes on but the video connection to a modern TV is obviously an issue, as mentioned here. Well ...
12
votes
2answers
677 views

Why was BASIC on the Commodore 64 one byte shy of 38KiB?

When you power up a Commodore 64 you are greeted with a friendly message telling the user it has 38911 BASIC bytes free. 38,911 is one byte shy of a 38 KiB (1,024 * 38 = 38,912). What was the reason ...
1
vote
1answer
195 views

How to read disk files using CBM specific functions in cc65 with proper error checking

TL:DR What is the reason my kernel_read() function ignoring file errors? I'm trying to understand how to work with files in cc54 using CBM specific functions. My target is Commodore 64 with 1541 ...
12
votes
2answers
899 views

Does the Commodore 64 have the PHX opcode?

Code written for the Commodore 64 sometimes uses the PHX opcode, which should push X onto the stack. There also are plx, phy, ply. These were apparently added on the CMOS versions of the 6502; very ...
2
votes
2answers
354 views

Using C64 floating point kernal routines with 16 bit integer

How to use floating point kernal routines for 16 bit arithmetics such as: $1234*$ABCD or $1234/$ABCD ?
5
votes
2answers
326 views

Method for adding firmware to a Commodore 64 expansion card?

The C64 expansion port can and does support multiple IO devices without conflicts. There is 0.5 KiB that is decoded for $DE00-$DFFF, using /IO1 and /IO2 on the expansion port. As long as the devices ...
14
votes
1answer
293 views

C-64 Exchange News Service

I am trying to recall the name of a peripheral I use to have for my C64 in the 1980s. I believe it was called Exchange or X-Change. You hooked it up to your cable TV service and it would decode a ...
10
votes
2answers
515 views

6510 I/O port initialisation

TL;DR: With what values are the I/O port registers (locations $00 and $01) on the 6510 initialised when it is powered on? I'm writing a Commodore 64 emulation. The Commodore 64 uses a 6510 ...
3
votes
1answer
214 views

Audio from Commodore 64 to line 1/4 inch line level

I have a 1702 monitor for my C64. I use a cable that splits the video/audio from the C64 to the Red/Yellow/White thing. Something like this. The white cable is the audio. I believe this is an RCA ...
8
votes
2answers
780 views

Why did certain color combinations look terrible on the Commodore 64?

As I recall, on the Commodore 64's text mode, if you chose certain colour combinations, the letters would be badly obscured by some kind of interference which seemed to affect each character cell ...
2
votes
1answer
128 views

Can't enable list even with “enable run-stop” poke

Well, I've downloaded an old non-English textual adventure, which of course, "for the sake of professionalism" have list disabled. Even after entering pokes for enabling "run-stop/restore" and for ...
14
votes
2answers
558 views

Can a Commodore 64 use two screenmodes on one scanline?

Many games, for example, Maniac Mansion, or Kissenschlacht, use two screenmodes. Oftentimes, a bitmap mode for the main screen, and a text mode for the lower part which displays scores or whatever. ...
19
votes
2answers
780 views

What's a good way to implement this “splashing water” effect on the C64?

This pillow fighting game set in Venice depicts the two opponents fighting on a wobbly gondola on a canal. It was apparently known as "Pillow Fight" in English and as "Kissenschlacht" in German, and ...