Difference between revisions of "Xi8088 Version 2.0"

From docs
Jump to navigation Jump to search
Line 75: Line 75:
 
rect 248 29 351 64 [[74F244]]
 
rect 248 29 351 64 [[74F244]]
 
</imagemap>
 
</imagemap>
 +
 +
== Memory Map ==
 +
 +
[[File:Ibm_pc_memory_map.jpg|thumb|IBM PC Memory Map]]
 +
 +
The 20 bit address bus of the 8088/86 allows 1 Mb of memory space with address range from 00000-FFFFF. During the design phase of the first IBM PC, engineers had to decide n the allocation of the 1-megabyte memory space to various sections of the PC. This memory allocation is called a memory map.
 +
 +
{| class="wikitable"
 +
|+ Memory Map & Jumper Settings
 +
|-
 +
|Start Address
 +
|End Address
 +
|Size
 +
|Purpose
 +
|Comments
 +
|-
 +
|0x00000h
 +
|0x9FFFFh
 +
|640 KiB
 +
|Base memory
 +
|
 +
|-
 +
|0xA0000h
 +
|0xBFFFFh
 +
|128 KiB
 +
|Display memory
 +
|
 +
|-
 +
|0xC0000h
 +
|0xEFFFFh
 +
|192 KiB
 +
|Upper memory blocks (UMB) and BIOS extension ROMs
 +
|Consists of six 32 KiB user configurable blocks, can be either mapped to SRAM (to be used as UMB) or used for BIOS extension ROMs
 +
 +
{| class="wikitable"
 +
|+SW2 - Memory Configuration Switches
 +
|-
 +
|Position
 +
|Description
 +
|-
 +
|1
 +
|ON = Map 0xC0000-0xC7FFF to RAM
 +
|-
 +
|2
 +
|ON = Map 0xC8000-0xCFFFF to RAM
 +
|-
 +
|3
 +
|ON = Map 0xD0000-0xD7FFF to RAM
 +
|-
 +
|4
 +
|ON = Map 0xD8000-0xDFFFF to RAM
 +
|-
 +
|5
 +
|ON = Map 0xE0000-0xE7FFF to RAM
 +
|-
 +
|6
 +
|ON = Map 0xE0000-0xEFFFF to RAM
 +
|}
 +
 +
|-
 +
|0xE0000h
 +
|0xEFFFFh
 +
|64 KiB
 +
|On-board BIOS extension ROM
 +
|System flash ROM can be mapped here, so it can be used for BIOS extensions
 +
 +
{| class="wikitable"
 +
|+SW2 - Memory Configuration Switches
 +
|-
 +
|Position
 +
|Description
 +
|-
 +
|7
 +
|OFF = 128 KiB ROM starting from 0xE0000
 +
|}
 +
 +
|-
 +
|0xF0000h
 +
|0xFFFFFh
 +
|64 KiB
 +
|System BIOS
 +
|Currently BIOS uses only top 32 KiB of this space (0xF8000h - 0xFFFFFh). The other 32 KiB part is mapped to the flash ROM and can be used for BIOS extensions
 +
 +
{| class="wikitable"
 +
|+SW2 - Memory Configuration Switches
 +
|-
 +
|Position
 +
|Description
 +
|-
 +
|7
 +
|ON =  64 KiB ROM starting from 0xF0000
 +
|}
 +
 +
|}
 +
 +
{| class="wikitable"
 +
|+SW2 - Memory Configuration Switches
 +
|-
 +
|Position
 +
|Description
 +
|-
 +
|8
 +
|ON = Monochrome display (MDA)
 +
OFF = Color display (CGA)
 +
|}
  
 
== Troubleshooting ==
 
== Troubleshooting ==

Revision as of 13:49, 20 June 2021

Introduction

Xi 8088 IBM PC/XT compatible processor board.

Contributions Welcome

If anyone reading this page is interested in contributing content please send me a text message at 3476042083 with your email address and I will send instructions on how to setup an account.

Features

  • ISA board form factor
  • Support of PS/2 keyboard and mouse
  • Built-in real time clock with NVRAM

Board Layout

Click on any chip for more information. Most of the chips below lead to blank pages. I am looking for help in populating them with some info. I know datasheets are available however it would be nice to have a brief summary of each component and what is does overall on this board.

74ALS175 Quad D flip-flopPS/2 ConnectorPS/2 ConnectorReset SwitchBiLevelLEDPN222ACrystal14.31818MhzTrimmerCapacitor5-53pFDIPSwitch8PinDIPSwitch12PinPCSpeakerCellHolderCR2032Crystal24Mhz29F010825974F24474F57374F245I8087I808874ALS175828474ALS7474ALS0474ALS0274ALS7474ALS17574HCT11N74ALS00AS6C4008825974F24574ALS2074ALS0074ALS13974LS92AS6C400874F57374F573828874ALS0274LS13874ALS13974ALS0074LS0674ALS0474LS67074F24574F24574ALS3274ALS7474ALS32VT82C428237DS12885825474F244Xi 8088 - Complete Board.png
About this image

Memory Map

IBM PC Memory Map

The 20 bit address bus of the 8088/86 allows 1 Mb of memory space with address range from 00000-FFFFF. During the design phase of the first IBM PC, engineers had to decide n the allocation of the 1-megabyte memory space to various sections of the PC. This memory allocation is called a memory map.

Memory Map & Jumper Settings
Start Address End Address Size Purpose Comments
0x00000h 0x9FFFFh 640 KiB Base memory
0xA0000h 0xBFFFFh 128 KiB Display memory
0xC0000h 0xEFFFFh 192 KiB Upper memory blocks (UMB) and BIOS extension ROMs Consists of six 32 KiB user configurable blocks, can be either mapped to SRAM (to be used as UMB) or used for BIOS extension ROMs
SW2 - Memory Configuration Switches
Position Description
1 ON = Map 0xC0000-0xC7FFF to RAM
2 ON = Map 0xC8000-0xCFFFF to RAM
3 ON = Map 0xD0000-0xD7FFF to RAM
4 ON = Map 0xD8000-0xDFFFF to RAM
5 ON = Map 0xE0000-0xE7FFF to RAM
6 ON = Map 0xE0000-0xEFFFF to RAM
0xE0000h 0xEFFFFh 64 KiB On-board BIOS extension ROM System flash ROM can be mapped here, so it can be used for BIOS extensions
SW2 - Memory Configuration Switches
Position Description
7 OFF = 128 KiB ROM starting from 0xE0000
0xF0000h 0xFFFFFh 64 KiB System BIOS Currently BIOS uses only top 32 KiB of this space (0xF8000h - 0xFFFFFh). The other 32 KiB part is mapped to the flash ROM and can be used for BIOS extensions
SW2 - Memory Configuration Switches
Position Description
7 ON = 64 KiB ROM starting from 0xF0000
SW2 - Memory Configuration Switches
Position Description
8 ON = Monochrome display (MDA)

OFF = Color display (CGA)

Troubleshooting

Non-Turbo clock is unstable or non existent

Sometimes the non-turbo crystal fails to oscillate. The proposed improvement to this circuit is seen below. I will test it further and introduce this change in the next revision of the board.

For now try out different values of load capacitors. Roughly speaking the formula to determine the values based on the Load capacitance of the crystal (check datasheet) is Cload = c^2/(2c)

For a crystal with load capacitance of 20pf (find in datasheet) then the capacitors you should add up to 40pf. But since capacitors have different tolerances and measuring such small capacitances is hard with cheap equipment then experimenting with different value capacitors is your best bet. Remember that capacitors in parallel add capacitance Cp = c1 + c2... and series they are 1/Cs = 1/c1 + 1/c2 ...

640px