Questions tagged [commodore-64]

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

Filter by
Sorted by
Tagged with
3
votes
1answer
128 views

SID to WAV converter that exports per channel separately

For a C64 SID project of mine (https://soundcloud.com/c64er) I was using an converter almost 10 years ago, but it is missing now with its name... I researched many sites, but no lucky. Is there any ...
5
votes
1answer
287 views

What is the C64 disk drive “Jiffy” protocol?

There seems to be something called the "Jiffy protocol" used for some fast load systems. I know of the JiffyDOS product, which seems to require replacing ROMs in both the C64 and the drive, but it ...
6
votes
2answers
210 views

Are there any open-source C64 DOS wedges and fast loaders?

The ever-so-popular EPYX Fast Load cartridge for the Commodore 64 included a DOS wedge (adding commands such as $ to list the files on a disk, /filename to load a file and @ to show the disk error ...
7
votes
1answer
192 views

What is the exact bus protocol used by the C64/C128 REU?

The Commodore 64/128 RAM Expansion Units used a DMA controller to move data between the REU's RAM and system RAM (or I/O space). One would set the addreses, length and direction for the transfer (or ...
17
votes
1answer
1k views

How does the C64 get an accurate TOD clock on 50 Hz power?

The C64 has two Time of Day (TOD) clocks, one in each of its 6526 CIA chips U1 and U2. These calculate time based on a 60 Hz or 50 Hz input to the TOD pin (pin 19); the clock input frequency assumed ...
6
votes
2answers
316 views

Get exact position of raster beam on C64/C128

By reading register $D012/$D011 or when pausing the execution of an emulation in VICE starting the monitor and entering io d000, it is possible to get information about the current rasterline. For ...
4
votes
2answers
270 views

Commodore monitor to VGA or HDMI

I have this monitor, which I think is a Commodore 64 monitor. I would like to connect it to a pc. Anyone know how to convert VGA or HDMI to this connector format? I've tried searching, but so far I'...
3
votes
1answer
193 views

Adding control characters to string constants in ca65 assembler

According to the cc65 documentation, a string constant in assembler programs can be defined with the .ASCIIZ command. However, I could not manage to sneak control commands in, for example, the ...
5
votes
1answer
165 views

Different handling of ASCII interpretation between ca65 and cl65

I stumbled upon a divergence in the ASCII upper case/lower case handling when using assembler and linker of the cc65 suite separately (I used cc65 V2.15 on Win10). For a test I made the following ...
12
votes
0answers
317 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 ...
8
votes
4answers
509 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 the [Aprospand-64]: This example dates from 1986, but there appear to have been a number of contemporary expanders, and ...
2
votes
1answer
387 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
442 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
375 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 ...
6
votes
2answers
312 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
90 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 ...
10
votes
3answers
288 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 ...
7
votes
1answer
251 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. ...
12
votes
3answers
548 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 ...
5
votes
2answers
422 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
4answers
486 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
342 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
328 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
168 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
910 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
304 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
249 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,...
7
votes
4answers
707 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 ...
6
votes
2answers
392 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
225 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
594 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
559 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
768 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
772 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
385 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
463 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
407 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
467 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
161 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
435 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
345 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
385 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 ...
7
votes
3answers
990 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
705 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
246 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 cc65 using CBM specific functions. My target is Commodore 64 with 1541 ...
12
votes
2answers
921 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 ...