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
Memory Banking Question
Memory Banking Question
- Attachments
-
- MemBank.JPG (152.95 KiB) Viewed 2690 times
-
- MemB1.JPG (43.09 KiB) Viewed 2690 times
- JimmyDansbo
- Posts: 476
- Joined: Sun Apr 26, 2020 8:10 pm
- Location: Denmark
- Contact:
Re: Memory Banking Question
You are doing the correct thing.
If your code would have been:
The thing is that BASIC changes is back
In BASIC, you use the BANK command to change the RAM and/or ROM bank.
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
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
Re: Memory Banking Question
For the BANK command details see https://github.com/X16Community/x16-doc ... IC.md#bank
Re: Memory Banking Question
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.
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.
- JimmyDansbo
- Posts: 476
- Joined: Sun Apr 26, 2020 8:10 pm
- Location: Denmark
- Contact:
Re: Memory Banking Question
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
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
Re: Memory Banking Question
JimmyDansbo wrote: ↑Tue Apr 09, 2024 7:05 pmI 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?
Re: Memory Banking Question
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.
Re: Memory Banking Question
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.
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.
Re: Memory Banking Question
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.