Questions tagged [commodore-64]

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

Filter by
Sorted by
Tagged with
6
votes
1answer
194 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
219 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
278 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
268 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
267 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
159 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
781 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
287 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
222 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,...
5
votes
3answers
384 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
334 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 ...
2
votes
2answers
185 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
421 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
500 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
740 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
746 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 ...
32
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, ...
4
votes
2answers
349 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
301 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
333 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
427 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 ...
1
vote
1answer
136 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
312 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
335 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
328 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
759 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
648 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
180 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
874 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
337 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
320 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
292 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
488 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
201 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
745 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
126 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
535 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
760 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 ...
6
votes
2answers
352 views

Why the disparity between the screencodes and the character codes?

The Commodore 64, and possibly others, I don't know, have character codes (These map integers to characters, in the same way that ASCII does) and there are screen codes (The offset which the VIC-II ...
4
votes
3answers
805 views

How can I view BASIC code hidden by SYS?

I ran a validation of an old disk, and it turns out this ruined a game (won't load) and deleted my old high score list on David's Midnight Magic. I would like to edit the code to get the high score ...
5
votes
1answer
919 views

Copying disk images to Commodore 64 floppy disks

For some time now I have been on a mission to get back into playing games on a Commodore 64. I have bought an original Commodore 64C. I got hold of a original 1541 disk drive. I also got hold of a ...
11
votes
3answers
3k views

Visible resolution of C64 video output, including borders

The VIC-II in the C64 outputs 320x200 pixels inside the borders. What is the full visible resolution including the borders? To clarify, I am interested in the full screen size in units of normal ...
5
votes
1answer
317 views

1980's ROM used which exp(n) algorithm?

In 1980's ROM (Apple IIe, Commodore 64, VIC-20, ...) which algorithm is used to compute exp(x), and where do the coefficients below come from? (Chebyshev, Remez, Pade, ...) .byte $71,$34,$58,$3E,$...
7
votes
3answers
1k views

Why do they use CLI in an IRQ routine?

I am studying an FLI routine in http://codebase64.org/doku.php?id=base:fli_displayer and I noticed that the CLI instruction is being used in this IRQ routine: irq0: pha ... cli ; &...
5
votes
2answers
535 views

Open source, non-GPL SID emulator

I am looking for a SID emulator that is open source, but not GPL. In particular, I am looking for something with a license that allows me to link it to a closed-source program; and also one that ...
5
votes
2answers
232 views

How can I view an Error Info Block in a D64 image?

I've been imaging old C64 floppies using a 1541 disk drive connected to my old Pentium III via a homebrew parallel cable and the Star Commander. Given that my disks are 30+ years old, I am amazed ...
1
vote
1answer
929 views

Where to buy an 8 bit computer remake? [closed]

I want to buy a remake of an 8-bit computer, e.g. the ZX-Spectrum or c64. Must haves: Modern monitor output(e.g. HDMI) Modern keyboard, no gum keys Modern storage, e.g. SD card or USB stick, etc... ...
7
votes
2answers
715 views

Is it possible to bank out Kernal in Commodore PET, VIC-20 or 264 series computers?

You can bank out Kernal ROM in C64 using $01 register. This was preferred by game/demo coders who wants to employ self tuned routines and wants to expose ram 'underneath'. You can do lda #$35 : sta $...