Questions tagged [c64]

The Commodore 64, commonly called C64, C=64 (after the graphic logo on the case) or occasionally CBM 64 (for Commodore Business Machines), or VIC-64, was an 8-bit home computer introduced in January 1982 by Commodore International.

The Commodore 64, commonly called "C64," "C=64" (after the graphic logo on the case), "VIC-64," or occasionally CBM 64 (for Commodore Business Machines), is an 8-bit home computer, introduced in January 1982 by Commodore International.

The C64 uses an 8-bit MOS Technology 6510 microprocessor, has 64 kB of RAM, features a VIC-II graphic chip with 16 colors and a SID sound chip.

During the C64's lifetime, sales totalled between 12.5 and 17 million units, making it the best-selling single personal computer model of all time.

Approximately 10,000 commercial software titles were made for the Commodore 64, including development tools, office productivity applications and games.

88 questions
8
votes
2 answers

Writing a disk file using assembly on Commodore 64

I'm trying to learn how to write disk files using kernal routines following this Codebase64 Tutorial. I have copied my routine, written in Acme Crossassembler, below. It failed to open file and gives error message: "FILE NOT OPENED" ;…
wizofwor
  • 917
  • 8
  • 25
7
votes
1 answer

Change color of text without color memory in C64/Assembly

I have a code like below, and it works fine. It clears the screen, puts some color in color memory of first 12 characters on screen, and prints a text on the screen. jsr $e544 ldx #$00 lda #3 loopclr: sta $d800,x …
user4516901
7
votes
2 answers

Example of removing side borders on C64

I know that it's possible to remove top and bottom borders in C64 using assembly, and I've found example codes for that. But I can't find any example code for removing the side borders (which was invented by 1001 Crew.) Anybody know any examples of…
user4516901
6
votes
1 answer

Better way to dynamically update tile data on Commodore 64

I'm planning to use software sprites in multicolor char mode for my new C64 project. My idea is to use superimpose 'bullet' sprite data to tile data. I think I can have tileset data at address 'TILESET', sprite data at address 'SPRITE'. And I can…
wizofwor
  • 917
  • 8
  • 25
6
votes
4 answers

Commodore 64 Development Tools for Mac OS X

Which tools do you use for cross-development for C64 on OSX? Which assembler, text editor or IDE, gfx, sprite, charset editors? Or do you simply prefer Windows environment via parallels desktop or bootcamp?
wizofwor
  • 917
  • 8
  • 25
5
votes
1 answer

ca65: Include Guard generates "Error: Identifier expected"

Trying to learn how to use the ca65 assembler, I've been battling with making include guards work. Googling and reading the ca65 Users Guide didn't help. Here's a minimal example that produces the error. $ ls -l total 16 -rw-r--r-- 1 me staff 60…
Quester
  • 81
  • 7
5
votes
1 answer

Modified C64 PRG BASIC header?

I recently bought a c64 mini and been trying to code some assembly using Turbo Macro Pro v1.2. While working on the hello world program I found a tutorial where an auto run BASIC header was used. I tried to also include a PRINT CHR$(147) to clear…
Dacobi
  • 417
  • 4
  • 14
5
votes
2 answers

Generating random direction in C64 Basic

I have run the ‘More Bouncing Balls’ Basic program from chapter 5 of the C64 user’s manual, with the addition from the final page of the chapter. The code is as follows: 10 PRINT CHR$(147):REM SHIFT CLR/HOME 20 POKE 53280,7 : POKE 53281,13 30…
Canned Man
  • 734
  • 1
  • 7
  • 26
5
votes
5 answers

How to divide 16bit number by 2 in 6502 asm?

I want to divide a 16bit number by two. My solution to the problem was as below lda $17 ;set high byte ldx $32 ;set low byte divide: PHA ;push A to stack TXA ;X > A LSR ;divide low byte by 2 …
wizofwor
  • 917
  • 8
  • 25
5
votes
1 answer

How to print quotes inside quotes but in commodore 64 basic v.2.0

I'm writing a little hobby c64 textual adventure and I've stopped in one very concrete moment. Namely, I don't know how to quote anything inside quote. How to do that inside commodore 64 basic v.2.0.?
perpetuum
  • 129
  • 10
5
votes
1 answer

CBM Program Studio Assembler syntax

I'm trying to learn CBM Program Studio. But I can't get macros work for me. Withouth the macro the codes was ok. But when I add the macro part it gives "No Matching End Definition" on line 7. Any idea? *=$c000 ; sys 49152 ; set…
wizofwor
  • 917
  • 8
  • 25
5
votes
1 answer

Timer frequency for C64 CIA Timers?

Can anyone confirm the frequency the C64 CIA 16bit timers tick per second ?
mP.
  • 18,002
  • 10
  • 71
  • 105
4
votes
2 answers

Compare keystrokes - Assembly CCS64

I want to compare keystrokes in assembly (CCS64). If I type in the same key in a row I want to do something example: A A = do this but if I type this: A B = do something else Suggestions?
Oakin
  • 143
  • 2
  • 15
4
votes
1 answer

Best way of writing subroutines in 6502 Assembler?

I'm new to assemblers, so here is a simple question: My custom subroutines change the X, Y, and A registers. They manipulate these to produce the desired results. Is it a good idea to push these values to the stack when the routine starts and…
user2297996
  • 1,382
  • 3
  • 18
  • 28
4
votes
3 answers

ca65 assembler and ld65 linker

I'm beginning to use then ca65 assembler and ld65 linker on WIndows to create binary code for Commodore C64 computer, running on VICE emulator. I write this small "hello world" source on file "basic2.s" ;-------------------------------------- ;…
alvalongo
  • 523
  • 3
  • 11