What do we need for a "How to program the X16" book?

Chat about anything CX16 related that doesn't fit elsewhere
TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Re: What do we need for a "How to program the X16" book?

Post by TomXP411 »

DragWx wrote: Sun Nov 03, 2024 9:59 pm If you're talking about the VIC-20 "Personal Computing Guide", I've read a few chapters of it and I like it so far. I think it'd be a relatively safe thing to print too, unless there are plans to completely change how the editor works, or how BASIC works on a fundamental level.
The good news is that basically all the programming examples in the VIC-20 are relevant, with the exception of anything dealing with POKE and PEEK statements.

The BASIC interpreter and language itself is nearly identical to the interpreter in the VIC-20 and 64, except that some new keywords have been added. Since the VIC manual covers sound and (if I recall) tape access, we can simply replace those chapters with the equivalents in Commander BASIC.

(As a side note: I'm not proposing a 1:1 re-print. I'm not sure who holds Commodore's old Copyrights, or if anyone can reasonably claim them. I think that, instead, I'd simply start with the VIC-20 guide's outline and write the chapters from scratch, covering the same basic points. )
DragWx
Posts: 342
Joined: Tue Mar 07, 2023 9:07 pm

Re: What do we need for a "How to program the X16" book?

Post by DragWx »

TomXP411 wrote: Mon Nov 04, 2024 5:53 pm (As a side note: I'm not proposing a 1:1 re-print. I'm not sure who holds Commodore's old Copyrights, or if anyone can reasonably claim them. I think that, instead, I'd simply start with the VIC-20 guide's outline and write the chapters from scratch, covering the same basic points. )
Oops, I wasn't trying to suggest that either.

When I said this would be safe to print, I meant that the topics covered in a VIC-20 style user guide would be so fundamental that I don't think anything on the X16 would be changing so significantly to require a revision to this user guide, at least not for a few years.
kelli217
Posts: 531
Joined: Sun Jul 05, 2020 11:27 pm

Re: What do we need for a "How to program the X16" book?

Post by kelli217 »

What ever became of Jestin's attempt at this very project, essentially a rewrite of the VIC-20's user guide for the X16?
TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Re: What do we need for a "How to program the X16" book?

Post by TomXP411 »

kelli217 wrote: Mon Nov 04, 2024 8:52 pm What ever became of Jestin's attempt at this very project, essentially a rewrite of the VIC-20's user guide for the X16?
It seems to have stalled out; the last commit was 2 moths ago.

It looks like Jestin is still plugging away, but his project has only ever had 5 contributors.

I don't know about other people, but the use of LaTeX seems intimidating and is probably turning people off. I should probably talk with him and see if he still wants to push forward with that, or if he's open to switching to something a bit more WYSIWYG.
voidstar
Posts: 494
Joined: Thu Apr 15, 2021 8:05 am

Re: What do we need for a "How to program the X16" book?

Post by voidstar »

There is a need for a kind of 5-20 page intro ("user guide"), a 50-100 page guide ("programmers guide"?) and then the 300-500 page comprehensive manual ("technical reference"?). The tech-ref would (should?) cover every single hardware component, maybe even discuss the System ROM (like the early Apple2 manuals).

Staples or similar online-print-shops were something like $0.50 a page, for a decently thick full color page print. It's really over $1/page, but for a small booklet you can get about 2 pages per full printed page (and that price is including "binding" which is just staples, but it's still a time-saving convenience). So my own little user guide was around $10 with tax and shipping. Its content has mostly held up for the past year (I'd do a few revisions, like mentioning more about BASLOAD and some of the newer "wedge" DOS short-cuts). It was Microsoft Publisher, about as WYSIWYG as you can get. I didn't mind sharing the PUB file, but at the time I didn't understand large-file uploads to github, and the file was something like over 200MB (hi-rez embeded images and such). Now I understand that better and should look back into getting github to host that.

That intro guide is here:
https://github.com/voidstar78/X16_MANUA ... T_REV9.pdf

I'm assuming folks without a github account can access that; if not, then I can see how distribution of any doc will be challenging. But as a compromise, a HTML equivalent is here:
https://voidstar.blog/voidstars-commander-x16-notes/

Near the last page of the manual is some reference tables, sort of in the fashion of those mid-1980s manuals. And in the last half is some starter programming examples. To me, just a few *working* examples is enough to show what the system can do, then it's up to the individual to have the curiosity to go line by and line and better understand how/why things are working from there. But true, a bit more comments and guided commentary of those examples could help clarify things (for those with no background on these kinds of systems).

At the time I didn't cover BASLOAD because it wasn't yet officially part of the ROM. Many people won't really appreciate BASLOAD if they don't already know a bit about BASIC first. There are also notable differences between GW-BASIC, or any "Extended Color BASIC" (which relates to the "who is this for" question - those that never experienced BASIC at all, vs those somewhat familiar with a different dialect of BASIC)

Involving the 65c816 is a messy can-of-worms. While I have an '816 for each of my X16's for compatibility testing, I'm just ignoring it for now since I don't ever plan on writing any '816 specific code. Maybe it could be covered in an Appendix of some kind of "Advanced Guide".
mortarm
Posts: 298
Joined: Tue May 16, 2023 6:21 pm

Re: What do we need for a "How to program the X16" book?

Post by mortarm »

voidstar wrote: Mon Nov 04, 2024 10:59 pm Involving the 65c816 is a messy can-of-worms...
65816...no "c".
voidstar
Posts: 494
Joined: Thu Apr 15, 2021 8:05 am

Re: What do we need for a "How to program the X16" book?

Post by voidstar »

These are what I've used. I've not tried an actual 65816 pulled from something else.
IMG_2218_65c816.jpg
IMG_2218_65c816.jpg (576.71 KiB) Viewed 309 times
tim1724
Posts: 7
Joined: Thu Jun 22, 2023 5:50 pm

Re: What do we need for a "How to program the X16" book?

Post by tim1724 »

mortarm wrote: Wed Nov 06, 2024 4:39 am 65816...no "c".
Same thing. WDC has used the two names interchangeably over the years, although the actual chips have always been labeled W65C816 (or W6SC816S for the newer fully static version they've been selling the last 25 years or so). As far as I know the other manufacturers have also included the C in their chip names. (My Apple IIGS has a GTE-made G65SC816. I've also seen the VLSI version, which is labeled VL65C816.)

The distinction between 6502 and 65C02 is important, as those are two different (though closely related) architectures with significant instruction set differences.

But 65816 is just a shorthand for the 65C816 instruction set.
TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Re: What do we need for a "How to program the X16" book?

Post by TomXP411 »

mortarm wrote: Wed Nov 06, 2024 4:39 am
voidstar wrote: Mon Nov 04, 2024 10:59 pm Involving the 65c816 is a messy can-of-worms...
65816...no "c".
The chip is the W65C816S. So yes, a "C".

You can make the case that the CPU family is the 65816 (without the C), since the instruction set is used by things other than the W65C816S, but we are literally using the WDC chip, so 65C816 is the way we prefer to write the CPU's name in the Commander's documentation and communications.
voidstar
Posts: 494
Joined: Thu Apr 15, 2021 8:05 am

Re: What do we need for a "How to program the X16" book?

Post by voidstar »

The C is just for CMOS, right? Lower power and such? So subtle electrical differences, and who-knows-what "undocumented opcode" differences.

http://wilsonminesco.com/NMOS-CMOSdif/
Post Reply