Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

document the CBM kernal routines #83

Open
5 tasks
irmen opened this issue Oct 28, 2023 · 7 comments
Open
5 tasks

document the CBM kernal routines #83

irmen opened this issue Oct 28, 2023 · 7 comments

Comments

@irmen
Copy link
Contributor

irmen commented Oct 28, 2023

Documentation for several kernal routines is missing / incomplete.

This issue is for the CBM kernal routines that the X16 inherited from the CBM/C64 kernal rom.
These are documented elsewhere on the internet, but should be documented here as well.

  • provide a list of "accepted" reference docs urls for the original CBM rom documentation. There are a few links but people don't seem to find them/read them?
  • provide at least a minimal description for every missing kernal routine @m00dawg
  • precisely document the routines. mention any differences with the originals (for example MEMTOP)
  • get rid of the origin column
  • change the register columns in the kernal API table to inputs and outputs (and maybe preserves)? how?

Note that the Floating Point routines are excluded from this as well, they already have their own page.

@irmen
Copy link
Contributor Author

irmen commented Oct 28, 2023

What do we consider "good" existing reference material for the CBM kernal routines? Personally I have a couple of bookmarks I return to all the time:

http://sta.c64.org/cbmdocs.html, most notably http://sta.c64.org/cbm64krnfunc.html
https://c64os.com/post/c64kernalrom pretty good writeup with explanations
https://www.pagetable.com/c64ref/kernal/

Here's some more, courtesy of @JimmyDansbo :
https://www1.cx16.dk/c64-kernal-routines/
https://www1.cx16.dk/c128-kernal-routines/

Maybe less useful on the x16:
https://www.pagetable.com/c64ref/c64disasm/
https://project64.c64.org/Software/mapc6411.txt

@m00dawg
Copy link
Collaborator

m00dawg commented Oct 28, 2023

Is it just referring to kernel calls or in general? It's a bit discounted but I like:

http://6502.org/tutorials/6502opcodes.html
http://www.6502.org/tutorials/65c02opcodes.html

Also I've volunteered to take that 2nd bullet point.

@irmen
Copy link
Contributor Author

irmen commented Oct 28, 2023

Just the kernal calls for now, other types of documentation or changes should get its own issue IMO (including the FP routines which already have their own separate chapter)

@m00dawg
Copy link
Collaborator

m00dawg commented Oct 28, 2023

Started work on task 2 via this PR: https://github.com/X16Community/x16-docs/pull/84/files

@pacav69
Copy link

pacav69 commented Oct 29, 2023

I think for begginers, there should be the creation of examples of code using the kernal routines to further improve the teaching and learning of the 6502 assembler coding. This would be useful for the education sector in promoting future computer programmers.

@irmen
Copy link
Contributor Author

irmen commented Nov 3, 2023

Sure, examples and tutorials are needed too, but this item is only about reference documentation. Let's talk about other kinds of documentation elsewhere.

@irmen
Copy link
Contributor Author

irmen commented Nov 14, 2023

I'll update the task list soon as some work has been done :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants