Don't forget, that you have more than 2 Banks available in the MEGA65, because it comes with build-in memory extension ![]()
C128/C65/MEGA65 Bank switching
-
adtbm -
5. März 2020 um 18:14 -
Erledigt
Es gibt 7 Antworten in diesem Thema, welches 3.170 mal aufgerufen wurde. Der letzte Beitrag (
-
-
I know, but I already asked if the BASIC 10 really can access more than BANK 0 and BANK 1.
Hint: Moving DATA from BANK X to BANK 0/1 with
MAPDMA (Stash/Fetch/Swap) is not meant.That's only moving Data from extended memory to 'BASIC-Memory.
In other words: can the cpu directly access the extended memory?
I try explain in C128- language.
The 4502 can access 1MB, this is equivalent to C128 with 'full' MMU capability, where MMU bankswitches parts of the 1MB into cpu's '64k viewport'. The extended memory is more like the REU, where you must fetch,stash or swap parts within the range the MMU can see (and thus make availlable to the cpu).
-
Alles anzeigen
I know, but I already asked if the BASIC 10 really can access more than BANK 0 and BANK 1.
Hint: Moving DATA from BANK X to BANK 0/1 with
MAPDMA (Stash/Fetch/Swap) is not meant.That's only moving Data from extended memory to 'BASIC-Memory.
In other words: can the cpu directly access the extended memory?
I try explain in C128- language.
The 4502 can access 1MB, this is equivalent to C128 with 'full' MMU capability, where MMU bankswitches parts of the 1MB into cpu's '64k viewport'. The extended memory is more like the REU, where you must fetch,stash or swap parts within the range the MMU can see (and thus make availlable to the cpu).
Now i got you ! I'll check back with Paul.
-
Partially it's hard to explain, coz BANK is used in 2 different meanings.
Bitte melde dich an, um diesen Link zu sehen.: Real existing hardware 64k RAM Bank and
Bitte melde dich an, um diesen Link zu sehen.: The BASIC command 'BANK', which in fact doesn't mean a RAM-Bank but a configuration of memory.
In case of FRE(x) we talk about real RAM-BANKs
But you can't use pE BANK 5 to 'switch' to the 5th real RAM-BANK.
-
Partially it's hard to explain, coz BANK is used in 2 different meanings.
Bitte melde dich an, um diesen Link zu sehen.: Real existing hardware 64k RAM Bank and
Bitte melde dich an, um diesen Link zu sehen.: The BASIC command 'BANK', which in fact doesn't mean a RAM-Bank but a configuration of memory.
In case of FRE(x) we talk about real RAM-BANKs
But you can't use pE BANK 5 to 'switch' to the 5th real RAM-BANK.
Additional info:
When I activate Bank 2 & 3 in VICE, and I try to FRE(2), FRE(3) the answer is
?ILLEGAL QUANTITY ERROR
-
Because Bank 2 and Bank 3 on the c65 are ROMs ? Kernelroutines, etc...
So a FRE(2) or (3) is not logical.
-
Because Bank 2 and Bank 3 on the c65 are ROMs ? Kernelroutines, etc...
So a FRE(2) or (3) is not logical.
No, I said "activate RAM BANK 2 & 3 in VICE x128."
It is just that I think BASIC (neither 7.0 nor 10.x) was designed to use more than 2 RAM BANKS, one for programm, one for variables.
Even GW-BASIC only initializes only 64k for BASIC in MS-DOS, that's why I think that from BASIC it's not possible to access more than BANK 0 and 1.
On the other hand we can pretend that BASIC 7.x & BASIC 10.x are superior to GW-BASIC, because our 8-bit BASICs can use twice the memory (128K)
-
I have moved the discussion here regarding the Available Memory on the c65 with the help of Bank switching
-
adtbm
6. März 2020 um 01:30 Hat den Titel des Themas von „C65/MEGA65 Bank switching“ zu „C128/C65/MEGA65 Bank switching“ geändert.