Sure Bob, sorry for the lack of detail. The “adjustment” is to the A16 line going into the 628128 RAM chip itself. The Z80 does not know about it. Please see the attached schematic. If for example this line is held low, (Jumper K106 1-2) then the Z80 will always only see the lower 64K of RAM on the chip. If its set 2-3, what the chip will see is dependent on pin 3 of U109. A15 determines the upper or lower 32K block of BOTH 64k blocks within the chip. It goes high if both pin 1 & 2 are high. Pin 2 is controlled (and latched) by outputting a bit 0 to port BASE_PORT_(6+7). Four possibilities… A15 Data bit 0 Pin 1 Pin 2 Pin 3 (A16) Result Low Low High Low Low Z80 sees 0-32K of 128K RAM High Low Low Low Low Z80 sees 32K-64K of 128K RAM Low High High High High Z80 actually sees 64-96K of 128K RAM High High Low High Low Z80 sees 32K-64K of 128K RAM What we are doing is page flipping in/out the LOWER 32K of RAM – something banked CPM3 requires. Hope my thinking is correct! John From: n8vem...@googlegroups.com [mailto:n8vem...@googlegroups.com] On Behalf Of Bob Bell John, can you please elaborate on how you have implemented the two banks for banked CP/M3 on the SBC? In a previous email, you mentioned somehow using A16, but I wasn’t following how you were synthesizing A16, as it doesn’t exist on the Z80. Do you have an I/O port somewhere that will drive A16? And do you have an algorithm in mind for how you would switch banks to be implemented in CP/M BIOS function 27 (SELMEM)? Thanks. Bob Bell From: n8vem...@googlegroups.com [mailto:n8vem...@googlegroups.com] On Behalf Of John Monahan Hi Tom, Normally I would agree and these days I’m a GAL/CPLD convert. But I’m thinking that since this may be the very first S100 board a new user may build I would like to keep the variables/challenges to a minimum. The board is linked 100% with simple 74LSxx chips. The circuits are such that I should be able to write-up fairly straightforward build and debug steps on the web page – explaining what each sub-circuit does. I kind of intend to go overboard on the board build/debug for this one to help first time users get airborne. I continuously get e-mails about “chicken & egg” problems with users getting started in hardware. With this board they should later be able to step by step inactivate sections and go on to build more powerful multiprocessor systems. Where I will need help is not only some of you double checking the write-up (when it’s done) but I really could use support in doing a CF-Card image downloaded from a PC that will immediately allow booting up a banked CPM/3 system. I really could use one or two volunteers for this. The end goal being:- built a board, pop in that CF card, hook up a Telnet PC USB connection over your laptop and you instantly have a running S100 bus CPM system. BTW, I managed to get Freerouter to get me a board with only 520 vias. Will send off to Advanced Circuits for prototype tonight. FYI here is a picture of the board layout, . -- |
Attachment:
SBC Page Switching.jpg
Description: JPEG image