[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]

    (*
     Well i jsut read up on the ET3000 verses teh ET4000, there are a few
     port hardware design changes with the BITS that make it vary hard to
     have a multipupose unit for both..
     Example:
      The 3000 can only address 512k of ram, only 3 bits were supplyed for
     this in the GDC reg.
      when the 4000 came out an extra bit was needed, instead of using
     bits 6 or 7 they move the read bits up one there by making the
     bank select a bit wide grouped instead of a funking bit order.
       but this also makes it hard for the ET4000 to work properly, you mite
     see the read bank get altered when when selecting the write bank using
     conventional 4 bit bank selecting..
     do you need code to detect a ET3000 chip ?

      if port[$3cc] and $01 <> 0 then Base := $03D0 else Base := $03b0;

      port[base+5] := $33;
      old := port[base+5];
      port[base+5] := old or $0f;
      new_Value := port[base+5];
      port[base+5] := old; { restore it }
       if new_vlaue = <> old THen {ET4000} else { ET3000}

     There is so much difference in the bank accessing between the two i
     would suggest a book like mine..
    *)

[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]