Coder Social home page Coder Social logo

mist64 / c64ref Goto Github PK

View Code? Open in Web Editor NEW
471.0 53.0 76.0 2.96 MB

Ultimate Commodore 64 Reference: ROM Disassembly, Memory Map, ...

Home Page: https://www.pagetable.com/c64ref/

License: BSD 2-Clause "Simplified" License

Python 43.20% CSS 8.93% JavaScript 38.71% Shell 0.49% HTML 8.67%
6502 c64 collection commodore disassembly kernal memory-map rom

c64ref's Introduction

Ultimate Commodore
64 Reference Guide

An effort to collect C64 reference material
in machine readable form and maintain
scripts to present this material to the web.



Button Website    Button Building



Material

Reference material collected in this repository.


ROM Disassembly


KERNAL BASIC Lang By / From
🇺🇸 Microsoft
🇺🇸 Commodore
🇺🇸 Lee Davison
🇺🇸 Bob Sander-Cederlof
🇩🇪 Commodore-64-intern-Buch
🇺🇸 Magnus Nyman
🇺🇸 Marko Mäkelä

Memory Map


Title Lang By / From
Mapping the Commodore 64 🇺🇸 Sheldon Leemon
Memory Map mit Wandervorschlägen 🇩🇪 Dr. H. Hauck
Commodore-64-intern-Buch 🇩🇪 Commodore
Reference 🇺🇸 Joe Forster / STA
Comments in the original source 🇺🇸 Microsoft / Commodore
C64 Programmer's Reference Guide 🇺🇸
64map 🇺🇸
Reference 🇺🇸 Jim Butterfield

KERNAL API


Title Lang By / From
Commodore 64 Programmer's Reference Guide 🇺🇸 Commodore
COMPUTE!'s VIC-20 and Commodore 64 Tool Kit: Kernal 🇺🇸 Dan Heeb
Machine Language Routines for the Commodore 64 and 128 🇺🇸 Todd D Heimarck
Patrick Parrish
Mapping the Commodore 64 🇺🇸 Sheldon Leemon
Commodore 128 intern 🇺🇸 Jörg Schieb
Frank Thrun
Heinz Wrobel
The almost completely commented C64 ROM disassembly 🇺🇸 Lee Davison
Cracking The Kernal 🇺🇸 Peter Marcotty
Kernal 64 / 128 🇺🇸 Craig Taylor
Commodore 64 standard KERNAL functions 🇺🇸 Joe Forster / STA
C64 KERNAL jump table 🇺🇸 Frank Kontros
Das neue Commodore-64-intern-Buch 🇩🇪 Baloui
Brückmann
Englisch
Felt
Gelfand
Gerits
Krsnik


Contributions

Extensions , Translations , Corrections
of typos and content, .. are welcome!



Credits

The original effort of collecting, converting, formatting
and editing the collected files was done by Michael Steil.


c64ref's People

Contributors

colinleroy avatar electronicsarchiver avatar ellduin avatar gabrielsroka avatar hexworx avatar jepler avatar lagomorph avatar lcsondes avatar mike-mcgann avatar mist64 avatar mmacy avatar ratopi avatar schildbach avatar solidstatemachine avatar tgiphil avatar willisblackburn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

c64ref's Issues

char set render issue in Chrome on Windows

On Windows (but not android), in Chrome (but not in other browsers, such as firefox or duckduckgo), some of the characters are shifted a bit to the right. See image below:
image

SQRHLF

The fully commented ROM for MS has the SQRHLF bytes starting at B9D5 which is $20.
The $20 at B9D5 is actually the 5th byte of the previous float 2.8853900728 in LOGCN2.
SQRHLF's 5 float bytes start at B9D6.

The incorrect listing is below for context:
.:B9D1 82 38 AA 3B 20 202 ; 2.8853900728 <=== B9D1
070 <=== B9D2
252 <=== B9D3
073 <=== B9D4
040> <=== is actually B9D5 20 (hex)
.:B9D5 80 35 04 F3 34 SQRHLF: 200 ; SQR(0.5) <=== SQRHLF starts at B9D6 80 (200octal)
065
004
363
IFN ADDPRC,<064>
.:B9DB 81 35 04 F3 34 SQRTWO: 201 ; SQR(2.0) <=== is crrect address and label

Link rot pagetable.com

All links to pagetable.com subpages, even the same-domain links found in blog posts there, are dead and just show the latest blog posts.

PETSCII conversion to Screen Code.

Looking at the keyboard input routine I was looking at understanding where was the conversion of PETSII code to actual screen code. Those line are actually undocumented. I think it would be profitable to add some comments to

.,E733 90 10 BCC $E745 branch if < [SPACE] Nothing to display
.,E735 C9 60 CMP #$60
.,E737 90 04 BCC $E73D branch if $20 to $5F
.,E739 29 DF AND #$DF Conversion of PETCII Character over $60 to Screen code
.,E73B D0 02 BNE $E73F
.,E73D 29 3F AND #$3F Conversion of PETSCII Character from $20 to $5F

Table rows vertically misaligned on Firefox

When viewing the Kernal API, ROM Disassembly, or Memory Map pages with Firefox, the Disassembly/Address row is about half a line further down than the commentary row that it corresponds to. This does not appear to happen in Chrome or IE. See the difference in the attached screenshots:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0:
image

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36:
image

Transcription around E46F – E4AB can't be right

Something has to be wrong in this section: E46F + 8 = E477, not E473.

Looking at a working ROM, I think the E46F line should only be four bytes long. The four bytes that it quotes after them are jumping ahead to the E473 line.

.:E45F 00 20 42 41 53 49 43 20  basic bytes free
.:E467 42 59 54 45 53 20 46 52
.:E46F 45 45 0D 00 93 0D 20 20
.:E473 93 0D 20 20 20 20 2A 2A  (clr) **** commodore 64 basic v2 ****
.:E47B 2A 2A 20 43 4F 4D 4D 4F  (cr) (cr) 64k ram system
.:E483 44 4F 52 45 20 36 34 20
.:E48B 42 41 53 49 43 20 56 32
.:E493 20 2A 2A 2A 2A 0D 0D 20
.:E49B 36 34 4B 20 52 41 4D 20
.:E4A3 53 59 53 54 45 4D 20 20
.:E4AB 00

A few small errors in c64disasm_en.txt

Recently noticed a few small errors in c64disasm_en.txt. First, at A8E3:

.,A8E3 A2 11    LDX #$02

This instruction should be LDX #$11. Next, at E4CF:

.:E4CF AA AA AA AA AA

There should be only 4 bytes on this line, not 5 (the next instruction is at E4D3). And at EA14:

.,EA14 A9 02    LDA #$02set the count to $02, usually $14 ??

The comment needs nudging over to the 33rd column.

I also noticed that the instructions at E4DA and E621 are LDA $D021 and JSR $E6ED, whereas in a disassembly I've been working on, I have LDA $0286 and JSR $E591. However, I understand that these could just be mistakes in the memory dumps I have, or a difference in ROM versions.

Is a CBM/PET version planned?

Are there plans for a CBM/PET version?

It has its own challenges (BASIC v1, v2 and v4, 40 and 80 columns, etc.),
but there are some good sources available (e.g. Programming the PET/CBM by Raeto West, The Pet Revelead by Nick Hampshire, PET/CBM Personal Computer Guide by Adam Osborne).

License?

Hey, would you mind adding a LICENSE so we know how the content can be used?

I'm planning on creating a web site for aggregating some retro cheatsheets and some of this content would be great for it.

A13C-A13F is the STEP keyword, rather than STOP

All of the commentaries list the addresses A13C-A13F as the text of the "stop" keyword.

The STOP keyword text is stored at A0DF-A0E2.

The A13C-A13F is the text of the STEP keyword instead.

The same mislabel appears in the German, Lee Davison, and Bob Sander-Cederlof commentary.

Missing root index.html

The umbrella generation script should generate this index.html at the root:
<meta http-equiv="refresh" content="0; URL=/c64ref/c64disasm/" />
...or maybe forward to a different tab.

cleanup the generate code

currently builds in the Sources folder
and is a little all over the place

update readme and contributors while at it?

Scrollbars on Memory Map

Hi, currently you have to scroll all the way to the bottom of the page in order to scroll left and right, because the scrollbar is attached to a div instead of the body.

Removing the overflow: scroll; property line (internal css, line 81) solves the issue.

div.disassembly_container_no_dec {
padding: 1em 0em 1em 11.3em;
overflow: scroll;
}

There is another in div.disassembly_container_with_dec. (line 76).

Hope this helps!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.