Loading ...
Sorry, an error occurred while loading the content.

Re: [Altair Computer Club] Re: help designing S100 board

Expand Messages
  • Craig Landrum
    ... Hugh; Board address is different than the flash address. The board address is what you use with 8080/Z-80 I/O statements to talk the on-board registers
    Message 1 of 14 , Aug 20, 2012
    • 0 Attachment
      On 8/16/12 at 9:20 PM, rjones@... (cyberquipment) wrote:

      >
      >--- In altaircomputerclub@yahoogroups.com, Craig Landrum <craigl@...> wrote:
      >>
      >>>As a way-too-ambitious project, I want to design an S100
      >>>board to make an SDHC flash memory card available to my Altair.
      >>>
      >>>Any hints you guys can share with a hardware newbie?
      >>
      >>Hugh;
      >>
      >>What a great project. I would actually buy one if you manage
      >>to do it.
      >>Some suggestions that I'm sure you have thought of:
      >>
      >>- Put an 8 pos DIP switch in there to allow the board address to be
      >>configurable.
      >>
      >>- Put the flash card socket/holder external to the board so
      >>that we can
      >>run a ribbon cable out of the cabinet, allowing us to easily change
      >>cards.
      >>--
      >>Craig Landrum
      >>Chief Technical Officer
      >>mindwrap, inc.
      >>Phone: (540) 347-2552 x 229
      >>Fax: (540) 347-2556
      >>email: craigl@...
      >>
      >With the adress buss limited, how would you address that much
      >mem? some kind of pageing? Perhaps address a block at a time? Hmmmmm.
      >

      Hugh;

      Board address is different than the flash address. The board
      address is
      what you use with 8080/Z-80 I/O statements to talk the on-board registers
      that are used to perform whatever functions the board performs.
      For example,
      a serial board address might be 20H and 21H to talk to a configuration
      register to set a baud rate and a data register to send and receive
      data bytes.

      I would assume that a flash board would have a base I/O address
      of some
      type (say 80H), with other on board addresses based off the base address.
      Off the top of my head, this might be:

      80H - Configuration register, set or clear control bits for read
      or write
      81H - Byte I/O - read or write a byte for a block/sector
      82H - Low (LSB) byte of target block of flash mem
      83H - Mid byte of target block of flash mem
      84H - High (MSB) of target block of flash mem

      Operation would consist of setting config bits to
      reset/read/write, then
      set the target sector/block address, then read or write bytes
      via the
      data register to read or write a block-size chunk of data.

      The above board registers are accessed using 8080/Z-80 I/O
      statements such
      as OUT (80H),A or IN A,(80H) for Z-80. All S-100 boards
      used this
      same scheme. Only actual memory boards respond to memory access
      instructions such as LD (HL),A to deposit a byte to the memory address
      pointed to by the HL register pair or other similar instruction.
      Of course
      program execution generates memory read cycles also.

      In any case, that DIP switch I mentioned was for setting the
      base I/O
      address for the board and was a common way for S-100 boards
      designers to
      make their boards configurable allow users/buyers to assign it
      an I/O
      address that did not conflict with their existing systems.



      --
      Craig Landrum
      Chief Technical Officer
      mindwrap, inc.
      Phone: (540) 347-2552 x 229
      Fax: (540) 347-2556
      email: craigl@...
    Your message has been successfully submitted and would be delivered to recipients shortly.