Posted By
Harry Potter on 2021-12-31 12:59:00
| Accessing 256k of Plus4?
Hi! I created a cc65 library for the C128 called MemBank128. It provides access to virtually all of the system's memory. I want to do the same for a 256k Plus4. Now, I have two problems: 1. I don't have the documentation for it; and 2. the code will provide access to only 128k. The rest will still require em. Where can I find the docs.?
|
|
|
Posted By
Harry Potter on 2021-12-31 14:25:00
| Re: Accessing 256k of Plus4?
Thank you.
|
|
Posted By
Harry Potter on 2022-01-06 09:06:43
| Re: Accessing 256k of Plus4?
Uhh...If I use the Hannes expansion, do I need to worry about interrupts? Do I need to disable interrupts upon access?
|
|
Posted By
siz on 2022-01-06 09:55:32
| Re: Accessing 256k of Plus4?
Yes, you need to worry. (In case you map out the memory bank containing the interrupt handler)
|
|
Posted By
Harry Potter on 2022-01-06 10:58:29
| Re: Accessing 256k of Plus4?
Okay. I can simply disable interrupts upon access and reenable them afterwards.
|
|
Posted By
gerliczer on 2022-01-06 11:14:32
| Re: Accessing 256k of Plus4?
Or you could install you interrupt handler into the unpaged area. Or replicate it in all banks at the same location. IDK how the expansion handles the interrupt and reset vectors. If banking affects their contents, you must pay attention to setting them up properly too.
|
|
Posted By
Harry Potter on 2022-01-06 12:13:20
| Re: Accessing 256k of Plus4?
I think just disabling interrupts would be better. Otherwise would save four cycles per call but would cost extra work and bytes in the start-up routine. This also should be easier.
|
|
Posted By
siz on 2022-01-07 03:20:46
| Re: Accessing 256k of Plus4?
IMHO the most effective way to use Hannes expansion is to set switch boundary to $1000 and set it that TED can access only the base RAM. Then put main code (interrupt handler, banking logic, etc) under $1000 and your graphics data to the default bank (3). I'm not sure though, that all expansions (and emulators?) can handle bit 6 of the register properly - I seem to remember that mine (purchased from Lotharek) does not handle it). In that case switch bound must be set to $4000 with graphics data and code in default bank and under $4000 - or make sure that you bank out the page with your graphics data when raster is in non-visible area.
|
|
Posted By
SVS on 2022-01-07 03:49:26
| Re: Accessing 256k of Plus4?
I own a 256K expanded Plus4. The O.S. works as following, for each access to the banked memory: a) Disable IRQ; b) Set bank# c) Read/write d) Set bank#3 e) Enable IRQ The routine must reside inside common area (0..$1000 or 0..$4000). You can retrive more info on Ultimate map that states the differences between standard O.S. and OS92 (the Solder/Hannes version with banking).
|
|
Posted By
Harry Potter on 2022-01-07 09:44:06
| Re: Accessing 256k of Plus4?
That was what I was planning on doing. Thank you, though.
|
|