Page 1 of 1

OS/A65 6502 OS notes and discussion

Posted: Sun Aug 20, 2023 12:29 am
by voidstar
For context, reminder/notes about GEOS...
https://www.lyonlabs.org/commodore/onre ... index.html

And also for reference, Andre OA/A65
http://www.6502.org/users/andre/icapos/osa65.html

Which then refers to GeckOS, here: (over 20 branch, activity about 2-3 years ago)
https://github.com/fachat/GeckOS-V2

Notes on the build are here: (it seems to use his own "xa" crossassembler)
http://www.6502.org/users/andre/osa/index.html#download


Some notes/questions recently this past week from Andre:

Is the BANKing mechanism of the X16 still as described here? (I think yes, when you BANK in BASIC, $A000 to $BFFF gets changed only?)
https://justinbaldock.wordpress.com/202 ... emu-debug/

"I.e. there is only an 8k area that can be banked in from 2MB of address space?
Unfortunately that does not help much getting beyond anything running on the
C64 - because zeropage and stack all need to be shared between all processes
as they cannot be banked."

Yep, that's still the situation.


"Maybe Michael Steil can help here point to some documentation on the banking? Looking at the banking code, I would start with the C64 or PET version." (of OA/A65)


In C, I might do something like a = malloc(20000) [ give me 20K bytes "somewhere" ]. Whose managing the banking as I try to access my >8K chunk of memory? An OS just might be necessary to host those concepts.

Just food for thought, wasn't sure if anyone actively looking back again into OS ideas for the X16.

Re: OS/A65 6502 OS notes and discussion

Posted: Sun Aug 20, 2023 1:10 am
by ahenry3068
If I was doing it in C. I would create a pointer to the Banked RAM base.
then a function to switch Banks. and probably declare a CONST to define the size of
the BANK. from there just use offsets from the Pointer to Read/Write the BANK and
Switch BANKS when necessary