Re: Ram Card Design Help



On Oct 21, 10:31 pm, Grant Stockly <gr...@xxxxxxxxxxx> wrote:

I think Allison wrote:
standard Altair was hardsector single density. the problem
is all the Altair disk software played with that one and only that
one. A board that emulated the two board altair controller and
had enough Flash to store the few programs that were unique
to that controller would be interesting to some. [or patch the
programs as needed to work with a generic style flash board.]

That feature is the biggest push for the project. I will be emulating
the Altair 8" hard sector controller on the card. Storage will be on
USB mass storage devices, like a floppy disk, memory stick, hard
drive, etc formatted with FAT or other file system. Actual Altair32
compatible disk images will be used.

For CP/M HD support I will probably make it compatible with the images
from Altair Z80 (I think that's what its called)

Other functions on the card include serial<->telnet bridge, VGA
terminal emulation, etc...

Grant

Grant, your original request was something like: "I can put 128Kb, or
even 512Kb, on this supercard. How should I bank-switch that extra
memory?"

the problem as I see it, is that bank switching in the S-100 world
occurred before CP/M and programs made much use of it. And there were
no standards, or there were a number of standards. I don't recall
myself, which programs acutally USED banked memory. Ask around, check
some old source code if you are ambitious.

It was common in early S-100 boards to designate an I/O port - 40H if
I recall without looking at the manuals - to select banks of RAM and
swap them in upper memory somewhere. 8K and 4K banks come to mind.

Later on, the scheme was to use RAM DISKS, with the RAM addressable
through some I/O ports and readable either by I/O port or by a common
segment of memory. Compupro had some MDRIVE boards like this.

But READ THE MANUALS to see what various companies did. Enough S-100
manuals are on line that you can find some memory board manuals and
look them over. But also pay attention to Udo et al, who want to run
MP/M and other OS's. You might ask Chuck Falconer and others who
supported CP/M compatible OS's to see what banking they supported.

But our colleagues suggest 4K sized pages, located whereever but
generally above 32K and MAYBE up to the 64K limit. For simplicity, how
about eight 4K segments between 8000H and F000H, each which can be
selected from your remaining 64K or 450K in some fashion? Eight I/O
bytes, each with one of eight bits set to select some 4K memory bank
for its respective 4K memory window? (eight times 32K is 256K in that
scheme, probably plenty!) If I'm write and you start with I/O address
40H, you may be able to support some old programs!

A simple management scheme would be the same I/O byte pattern for each
4K segment of your "swap space". So you'd have eight total "pages"
plus the zero page - anywhere in your upper 32K memory space, any size
and location modulo 4K.. That's pretty flexible, uses 256K total. If
you want to use a total of 512KB, then devote the other 256K to a RAM
disk at some other I/O address set (for address bytes plus read/write
byte).

I have no idea what your hardware specifics are, some schemes will be
easier than others.

But, If I were you, I'd make it USER DEFINABLE. So, whatever you
choose, the user can change it to suit them.

Herbert R. Johnson, New Jersey USA
http://www.retrotechnology.com/herbs_stuff/ web site
http://www.retrotechnology.net/herbs_stuff/ domain mirror
my email address: hjohnson AAT retrotechnology DOTT com
if no reply, try in a few days: herbjohnson ATT comcast DOTT net
"Herb's Stuff": old Mac, SGI, 8-inch floppy drives
S-100 IMSAI Altair computers, docs, by "Dr. S-100"

.



Relevant Pages

  • Re: Disk access performance
    ... disk I/O on windows parralelizes very poorly -- try ... where there is real parallelism between the CPU and I/O. ... If you have enough memory you could linearize the reading of the files ... large chunks via a Stream adapter, ...
    (microsoft.public.dotnet.framework.performance)
  • Re: Caching control
    ... |> | invalidate/unmap them in order to discard the data from memory. ... |> writing out to disk. ... | easy to discard as clean disk cache. ... stating that a specific amount of RAM can be used only for I/O ...
    (comp.os.linux.development.system)
  • Re: Virtual Memory Settings?
    ... > your virtual memory set to at least 1.2xRAM. ... (Disk I/O is generally at least 1,000 times slower than memory I/O!) ... where the single disk holding the jfs log can't keep up with all the I/O ...
    (comp.unix.aix)
  • Re: Ram Card Design Help
    ... A board that emulated the two board altair controller and ... USB mass storage devices, like a floppy disk, memory stick, hard ... Compupro mapped the ram as linear address and the CPU had a page ...
    (comp.os.cpm)
  • Re: OT:PC problem
    ... I am rapidly losing disc ... tab and click on the Mem Usage column header twice to sort by memory usage ... Performance' tab and click both I/O Read Bytes and I/O Write Bytes tick ... they are writing to disk by clicking the I/O Write Bytes column twice. ...
    (uk.sport.football.clubs.celtic)