Login
Back to forumReply to this topicGo to last reply

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

Csabo
on 2021-12-31
14:12:19
 Re: Accessing 256k of Plus4?

You can find the docs here: http://www.solder-synergy.de/plus4/hardware/makers/ram256kb.zip

Posted By

Harry Potter
on 2021-12-31
14:25:00
 Re: Accessing 256k of Plus4?

Thank you. happy

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. happy

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. happy

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. happy



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon