Memory Banking Question

All aspects of programming on the Commander X16.
User avatar
schristis
Posts: 65
Joined: Sat Apr 08, 2023 6:28 am

Memory Banking Question

Post by schristis »

Im learning about memory banking...

obviosly, I have access to a 8kb window of the memory bank...
I can't poke $0000,X to change the memory bank.....

So I can't change the 8kb window in basic....
Or is it something Im doing wrong?

I barely know any assembly, but Im trying to learn if I need to change the 8kb window???
How would I cange the memory bank in an assembly program if I needed too?

Any hints tips or tricks.. would be great

and any explanation of the idiology of this, that I might be getting wrong would be helpful

Best regards
Shaun
Attachments
MemBank.JPG
MemBank.JPG (152.95 KiB) Viewed 2729 times
MemB1.JPG
MemB1.JPG (43.09 KiB) Viewed 2729 times
User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: Memory Banking Question

Post by JimmyDansbo »

You are doing the correct thing.

If your code would have been:
PRINT PEEK($0000):POKE $0000,5:PRINT PEEK($0000)
You would see that you do actually change the RAM bank.

The thing is that BASIC changes is back

In BASIC, you use the BANK command to change the RAM and/or ROM bank.
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
Edmond D
Posts: 489
Joined: Thu Aug 19, 2021 1:42 am

Re: Memory Banking Question

Post by Edmond D »

funkheld
Posts: 322
Joined: Mon Feb 26, 2024 11:11 am

Re: Memory Banking Question

Post by funkheld »

How many Rom an benches are there in the x16?
What are they called please?
Where can you find the sys commands for the rom commands?

Thanks.
Last edited by funkheld on Tue Apr 09, 2024 8:08 pm, edited 1 time in total.
mortarm
Posts: 299
Joined: Tue May 16, 2023 6:21 pm

Re: Memory Banking Question

Post by mortarm »

funkheld wrote: Tue Apr 09, 2024 6:39 pm How many Roman benches are there in the x16?
Check the bleacher section of the Colosseum. ;)
User avatar
JimmyDansbo
Posts: 476
Joined: Sun Apr 26, 2020 8:10 pm
Location: Denmark
Contact:

Re: Memory Banking Question

Post by JimmyDansbo »

funkheld wrote: Tue Apr 09, 2024 6:39 pm How many Roman benches are there in the x16?
What are they called please?
Where can you find the sys commands for the rom commands?
I think something got lost in translation here. Could you please try and explain what you mean by Roman benches?

You can find the names and (SYS) addresses of the Kernal commands in ROM here: https://github.com/X16Community/x16-doc ... 0KERNAL.md
Visit my Github repo
or my personal site with CX16/C64/6502 related information.
Feel free to contact me regarding any of my projects or even about meeting up somewhere near Denmark
hstubbs3
Posts: 72
Joined: Thu Oct 26, 2023 12:14 pm

Re: Memory Banking Question

Post by hstubbs3 »

JimmyDansbo wrote: Tue Apr 09, 2024 7:05 pm
funkheld wrote: Tue Apr 09, 2024 6:39 pm How many Roman benches are there in the x16?
What are they called please?
Where can you find the sys commands for the rom commands?
I think something got lost in translation here. Could you please try and explain what you mean by Roman benches?

You can find the names and (SYS) addresses of the Kernal commands in ROM here: https://github.com/X16Community/x16-doc ... 0KERNAL.md

Interestink ... 'bank' in german can mean bench..

Translations of Bank
bank Bank, Ufer, Reihe, Böschung, Damm, Wall
bench Bank, Tisch, Gericht, Richteramt, Experimentiertisch

I'd assume ROM somehow became ROME or directly ROMAN ...

Funkheld has previously admitted they were German and were not fluent with English... the lack of translated documents here is problematic for non-english users...

It _may_ help if Funkheld replies in his native German as well as providing some attempt at translation to English - either as he understands it or running it through like google translate...

Then should be simpler to see which words were likely being used as foreign/borrowed terms and then mistranslated ?

I am not certain how helpful this would be _in general_ ... as I am experienced providing technical support to non-native speakers... I am only fluent in English, took French in high school, and am somewhat familiar with German and other languages out of finding language to be somewhat interesting as a topic...

So not sure what would be best way to bridge the gap here without somebody fluent in German properly translating the docs and participating in the forums?
hstubbs3
Posts: 72
Joined: Thu Oct 26, 2023 12:14 pm

Re: Memory Banking Question

Post by hstubbs3 »

funkheld wrote: Tue Apr 09, 2024 6:39 pm How many Roman benches are there in the x16?
What are they called please?
Where can you find the sys commands for the rom commands?

Thanks.
The designers reserved 512K for the ROM itself - 32 banks of 16K each ...
and the remaining 192 addressable banks would be up to 3.5M available to cartridge ...
But I don't think any cartridges exist yet, only these addresses were reserved for later use by them.

The addresses for the sys commands were provided in a different reply earlier.
funkheld
Posts: 322
Joined: Mon Feb 26, 2024 11:11 am

Re: Memory Banking Question

Post by funkheld »

hello, thanks for help.

which rom number is the basic rom in x16 ?
Is there a complete rom listing for this please?
I only see excerpts in the x16 doc or complete rom listing ?

greeting.
hstubbs3
Posts: 72
Joined: Thu Oct 26, 2023 12:14 pm

Re: Memory Banking Question

Post by hstubbs3 »

funkheld wrote: Tue Apr 09, 2024 8:17 pm hello, thanks for help.

which rom number is the basic rom in x16 ?
Is there a complete rom listing for this please?
I only see excerpts in the x16 doc.

greeting.
BASIC interpreter is in bank 4.
If you mean basic as in "essential" then it would be ROM bank 0, as you would set ROM bank 0 before using the addresses listed in the documenation for the various sys calls.

Complete ROM listing ? The source code for the ROM is in a different Git repo, here -
https://github.com/X16Community/x16-rom

allocations -
https://github.com/X16Community/x16-doc ... llocations
ROM Allocations
Here is the ROM/Cartridge bank allocation:

Bank Name Description
0 KERNAL KERNAL operating system and drivers
1 KEYBD Keyboard layout tables
2 CBDOS The computer-based CMDR-DOS for FAT32 SD cards
3 FAT32 The FAT32 driver itself
4 BASIC BASIC interpreter
5 MONITOR Machine Language Monitor
6 CHARSET PETSCII and ISO character sets (uploaded into VRAM)
7 DIAG Memory diagnostic
8 GRAPH Kernal graph and font routines
9 DEMO Demo routines
10 AUDIO Audio API routines
11 UTIL System Configuration (Date/Time, Display Preferences)
12 BANNEX BASIC Annex (code for some added BASIC functions)
13-14 X16EDIT The built-in text editor
15 BASLOAD A transpiler that converts BASLOAD dialect to BASIC V2
16-31 – [Currently unused]
32-255 – Cartridge RAM/ROM
Important: The layout of the banks may still change.

Cartridge Allocation
Cartridges can use the remaining 32-255 banks in any combination of ROM, RAM, Memory-Mapped IO, etc. See Kevin's reference cartridge design for ideas on how this may be used. This provides up to 3.5MB of additional RAM or ROM.

Important: The layout of the banks is not yet final.
Post Reply