Eurocom II Hardware Description


Table of Contents

Eurocom II Hardware Description

Eurocom II/V5

*) The hardware supports a RAM extension but this is not emulated due to lack of software.

Eurocom II/V7

Eurocom II Memory

Eurocom II on-board memory

As the following figure shows the Eurocom II/V5 has 48 KByte RAM, organized as 3 x 16 KByte RAM + 4 KByte EPROM. The EPROM contains the monitor program:
Eurocom II/V5 on-board memory
Eurocom II/V5 on-board memory

The following figure shows the Eurocom II/V7 has 64 KByte RAM, organized as 1 x 64 KByte RAM. 4 KByte out of it are mapped to an EPROM. The EPROM contains the monitor program:

Eurocom II/V7 on-board memory
Eurocom II/V7 on-board memory

Eurocom II/V7 RAM Extension

The Eurocom II/V7 has two extension slots which can be used for extending the RAM size. There are two types of RAM extensions available:

RAM Extension
[KByte]
Organized
966 x 16 KByte
384 (288 *)6 x 64 KByte

A RAM extension can be used to extend the main RAM, as video RAM, or as RAM disk. The MC6809 only supports an address range of 64 KByte, so a Memory Management unit (MMU) is used to map parts of the RAM extension into the available address range.

The MMU of the 384 KByte RAM extension is not very flexible as will be described later in the chapter describing the MMU which means that the upper 16 KByte of each RAM bank is only accessible under some restrictions. This is the reason why ELTEC promoted it only as a 288 KByte RAM extension. This limitations have been overcome with a hardware modification as will be described in the chapter for flexible MMU.

2 x 96 KByte RAM Extension

The following figure shows how this RAM extension is organized. There are six RAM banks with 16 KByte each. They can be identified as:

RAM bankBank identifier
6 x 16 KByte$0C, $0D, $0E, $04, $05, $06
6 x 16 KByte$08, $09, $0A, $00, $01, $02

2 x 96 KByte RAM Extension
2 x 96 KByte RAM Extension

2 x 384 KByte RAM Extension

Also referenced as 2 x 288 KByte RAM extension because not all applications are capable of using the whole 384 KByte of RAM. The following figure shows how this RAM extension is organized. There are two times six RAM banks with 64 KByte each. They can be identified as:

RAM bankBank identifier
6 x 64 KByte$0C, $0D, $0E, $04, $05, $06
6 x 64 KByte$08, $09, $0A, $00, $01, $02

2 x 96 KByte RAM Extension
2 x 384 KByte RAM Extension

Memory Management Unit (MMU)

Due to a limited address range of the MC6809 a memory management unit is necessary to map parts of the RAM extension into the available address range. The MMU consists of 16 Byte registers located at $FFE0 - $FFEF. They are write-only registers. When reading they always return $FF. Each register can map a 4 KByte memory segment.

MMU
register
Target address
range
$FFEF$F000 - $FFFF
$FFEE$E000 - $EFFF
$FFED$D000 - $DFFF
$FFEC$C000 - $CFFF
$FFEB$B000 - $BFFF
$FFEA$A000 - $AFFF
$FFE9$9000 - $9FFF
$FFE8$8000 - $8FFF
$FFE7$7000 - $7FFF
$FFE6$6000 - $6FFF
$FFE5$5000 - $5FFF
$FFE4$4000 - $4FFF
$FFE3$3000 - $3FFF
$FFE2$2000 - $2FFF
$FFE1$1000 - $1FFF
$FFE0$0000 - $0FFF

The RAM bank and source address range which is mapped is specified by the RAM bank identifier.

Example: When writing $0C into MMU register $FFE4 4 KByte RAM of RAM bank $0C is mapped into the target address range $4000 - $4FFF.

Which source address range is used depends on the RAM extension type: A 96 KByte RAM bank only has 16 KByte (address range $0000 - $3FFF). So in this example the address range of $0000 - $0FFF is mapped. For 384 KByte RAM bank the source address range is always the same as the target address range. The blue arrows in the figures show by example which (blue marked) source address ranges can be mapped to which (also blue) target address ranges.

When writing $03, $07, $0B or $0F into any MMU register it's previous mapping is removed. Also the monitor program uses the MMU. To know the current state of all MMU registers the monitor program saves a copy of them into the address location $EFE0 - $EFEF. When writing to a MMU register the upper four bits should always be 0.

Flexible Memory Management Unit

With a hardware modification also for the 384 KByte RAM extension it is possible to select the target address range (one out of four possibilities) where to map the 4 KByte RAM segment.
2 x 384 KByte RAM Extension, flexible MMU
2 x 384 KByte RAM Extension with flexible MMU
By using bit 4 and 5 of the MMU register the target address range can be selected:

MMU register
value
Target address
range
$0X$0000 - $3FFF
$1X$4000 - $7FFF
$2X$8000 - $BFFF
$3X$C000 - $FFFF

Example: When writing $2C into MMU register $FFE4 4 KByte RAM of RAM bank $0C is mapped into the target address range $8000 - $8FFF.

When writing to a flexible MMU register the upper two bits should always be 0.

Realtime clock

As an optional hardware extension a realtime clock MC146818 is available. When it is enabled when booting FLEX the realtime clock is initialized in binary mode in 24 hour mode. The FLEX date is automatically set from the realtime clock. If the realtime clock is not present FLEX asks for the current date. It is accessible through memory mapped I/O in the address range $FD00 - $FD2F:

AddressContent
$FD00Seconds ($00-$3B)
$FD01Seconds Alarm ($00-$3B)
$FD02Minutes ($00-$3B)
$FD03Minutes Alarm ($00-$3B)
$FD04Hours ($00-$17)
$FD05Hours Alarm ($00-$17)
$FD06Day of Week ($01-$07, Sunday=1)
$FD07Date of Month ($01-$1F)
$FD08Month ($01-$12)
$FD09Year ($00-$63)
$FD0ARegister A
$FD0BRegister B
$FD0CRegister C
$FD0DRegister D
$FD0E - $FD2FUser RAM

For more details see MC146818 data sheet.

Video Display

The Eurocom II has a video resolution of 512 horizontal and 256 vertical pixel. Assuming the video RAM starts at address $0000 the video RAM is organized as in the following figure:
Eurocom II video RAM
Eurocom II video RAM
Hence the video RAM has a minimum size of 16 KByte when displaying 2 colors, 3 x 16 KByte when displaying 8 colors or 6 x 16 KByte when displaying 64 colors. Video contol Register 2 (VICO2 at $FCF7) can be used for hardware scrolling. Its value defines the raster line displayed top-most on the screen.

Video RAM without RAM Extension

When using the Eurocom II without a RAM extension a 16 KByte memory segment of the on-board RAM is used for video display. The display supports two colors. Which RAM segment is used depends on the Video Control Register 1 (VICO1 at $FCF6).

VICO1 register
value
Video address
range
$00$0000 - $3FFF
$01$4000 - $7FFF
$02$8000 - $BFFF
$03No video RAM

VICO1 is a write-only register. When reading it always returns $FF. Only bit 0 and 1 select the video RAM segment. Bit 7 up to bit 2 should always be written as 0.

Video RAM with RAM Extension

When using the Eurocom II/V7 with a RAM extension one, three or six 16 KByte RAM bank(s) of the RAM Extension are used for video display. That means for displaying more than two colors a RAM extension is needed. Which RAM bank is used depends on the Video Control Register 1 (VICO1 at $FCF6):

VICO1 register
value
Video address
range
$00$0C, $0D, $0E, $04, $05, $06
$01$08, $09, $0A, $00, $01, $02

Only bit 0 select the video RAM segment. Bit 7 up to bit 1 should always be written as 0.

When choosing 2, 8 or 64 colors the RAM banks are used as color planes:

bank identifier
value
ColorsVideo address
range
$0C, $082,8,64Green low
$0D, $098,64Blue low
$0E, $0A8,64Red low
$04, $0064Green high
$05, $0164Blue high
$06, $0264Red high

SEE ALSO