OMEN ALPHA
=========
OMEN Alpha / issue 4
Technical Documentation
OMEN Computers - - - https://github.com/osmibity - - - Page: 1
OMEN ALPHA
=========
INTRODUCTION
===========
The OMEN Alpha computer kit is a low-cost computer trainer, based on the Intel
80C85 CPU. It has these features:
- 80C85 CPU working at 1.8432 MHz
- 32 kB RAM
- 32 kB EEPROM
- Serial port up to 115.200 Bd / MC6850
- 3 parallel ports / Intel 8255
- Application system bus
OMEN Computers - - - https://github.com/osmibity - - - Page: 2
OMEN ALPHA
=========
ASSEMBLY INSTRUCTIONS
===================
1. Solder sockets for the integrated circuits
2. Test all soldered connections
a. Test if all pins are well connected
b. Check if GND is not short connected to Vcc
c. Check if each IC has properly connected GND and Vcc
3. Solder all passive parts /capacitors, diode, resistors, push button,
crystal/
4. Connect the power adapter and check
5. Insert the CPU into its socket /keep the proper orientation!/ and try to
power it up. Check if oscillator lives /at CPU pin 37/
6. Insert the essential ICs: 74245, 74573, 7400, 62256 and AT28C256. Again:
keep the proper orientation! Bad orientation can damage the IC!
7. Connect the serial pins TxD, RxD and GND /pinhead JP1/ to the TTL-toUSB converter
8. Start the serial terminal on your PC, select proper serial port and set
the parameters to 115.200 Bd, 8 data bits, no parity, 1 stop bit.
9. Power your Alpha and check the terminal.
OMEN Computers - - - https://github.com/osmibity - - - Page: 3
OMEN ALPHA
=========
MONITOR
=======
The main software for OMEN Alpha issue 4 is the Dave Dunfield’s MON85 Serial
Monitor, improved by Roman Borik.
Usage is described on the https://8bt.cz/mon85 or see the Appendix 1
You can invoke the installed Tiny BASIC v.2 by jumping to the 1000h – just
enter “G1000” /no quotes/ and press the ENTER key.
OMEN Computers - - - https://github.com/osmibity - - - Page: 4
OMEN ALPHA
=========
THE BOARD
========
Jumpers and pin headers
-------------------JP1: Serial port. Pins are GND, TxD, RxD from left to right, RxD is next to the
JP1 label
JP2, JP3, JP4: Parallel ports. See below. The square marks the pin 1.
JP5: EEPROM write enable. Short pins 1-2 to disable writing, or short pins 2-3
to enable writings. Pin 1 is on the left, pin 3 is next to the JP5 label
JP7: RST7.5 enabler. Close to disable interrupts, open to leave it on the
application bus. Connect the 10k resistor to make it “open-collector signal”.
JP8: Serial signals SID and SOD
OMEN Computers - - - https://github.com/osmibity - - - Page: 5
OMEN ALPHA
=========
PARALLEL PORTS
=============
JP2:
+-----+-----+-----+-----+-----+
| GND | PA7 | PA6 | PA5 | PA4 |
+-----+-----+-----+-----+-----+
| Vcc | PA0 | PA1 | PA2 | PA3 |
+-----+-----+-----+-----+-----+
JP3:
+-----+-----+-----+-----+-----+
| GND | PB7 | PB6 | PB5 | PB4 |
+-----+-----+-----+-----+-----+
| Vcc | PB0 | PB1 | PB2 | PB3 |
+-----+-----+-----+-----+-----+
JP4:
+-----+-----+-----+-----+-----+
| GND | PC7 | PC6 | PC5 | PC4 |
+-----+-----+-----+-----+-----+
| Vcc | PC0 | PC1 | PC2 | PC3 |
+-----+-----+-----+-----+-----+
OMEN Computers - - - https://github.com/osmibity - - - Page: 6
OMEN ALPHA
=========
SYSTEM APPLICATION CONNECTOR
=========================
This connector is on the upper edge of board. Pin 1 is on the left side.
Pins:
1
/WR
2
3
D0
D1
4 D2
5 D3
6
7
8
9
10
11
D4
D5
D6
D7
A0
A1
12
13
14
15
16
17
A2
/RD
IO1
IO2
IO3
IO4
--- 20h – 27h
--- 10h – 17h
--- 30h – 37h
--- 08h – 0Fh
18 IO5
19 IO6
--- 28h – 2Fh
--- 18h – 1Fh
20 IO7
21 Vcc
--- 38h – 3Fh
IOx signals are decoded by 74138
22 GND
23 RST7.5 -- see JP7
24 CLK
25 RESET -- Output signal
26 READY -- Pull it low to force a WAIT state
27 /BUSRQ /not connected on Alpha/
28 /BUSACK /not connected on Alpha/
29 /not connected on Alpha/
30 /not connected on Alpha/
OMEN Computers - - - https://github.com/osmibity - - - Page: 7
OMEN ALPHA
=========
OMEN Computers - - - https://github.com/osmibity - - - Page: 8
OMEN ALPHA
=========
PERIPHERAL IC ADDRESSES
=====================
ACIA 6850:
-------DEh – Controll Register / Status Register
DFh – Data Register
PPI 8255:
------04h – PORT A
05h – PORT B
06h – PORT C
07h – Control port
OMEN Computers - - - https://github.com/osmibity - - - Page: 9
OMEN ALPHA
=========
MEMORY MAP
==========
0000h – 7FFFh - EEPROM 32k
8000h – FFFFh – System RAM
OMEN Computers - - - https://github.com/osmibity - - - Page: 10
OMEN ALPHA
=========
APPENDIX 1 – The MON85 Manual
=============================
MON85
A
Software Debug Monitor
For the 8085/8080
Dunfield Development Systems
---------------------------High quality tools for
Embedded Development
at low prices.
http://www.dunfield.com
Copyright 1979-2007 Dave Dunfield
All rights reserved
OMEN Computers - - - https://github.com/osmibity - - - Page: 11
OMEN ALPHA
=========
MON85
TABLE OF CONTENTS
1. INTRODUCTION
1.1 8085 Restart Interrupts
1.2 Breakpoints
2. MON85 COMMANDS
2.1 A ON|OFF
2.2 B [0-7 address]
2.3 C
2.4 D
2.5 E
2.6 F
2.7 G [address]
2.8 I
2.9 L [address]
2.10 M
2.11 O
2.12 R [rp value]
2.13 S ON|OFF
2.14 T ON|OFF
2.15 U [address]
2.16 ?
3. COMMAND SUMMARY
1. INTRODUCTION
MON85 is a ROMable interactive debugging program for the 8085
processor, which contains a full complement of commands to monitor
and control the execution of your program. It may also be used on an
8080 processor, as long as you do not attempt to use the 8085
specific SIM and RIM instructions, or the '.5' type interrupt
vectors.
MON85 must be installed beginning at location $0000 in the 8085
processor memory map, allowing it to intercept the interrupt vectors.
Provision has been made to re-vector interrupts to locations within
the user program.
All functions of MON85 are performed via software without hardware
assist. The only hardware specific subroutines required by the
monitor are used to communicate with the console terminal, and are
located at the very end of the monitor source code listing:
INIT
- Called to initialize any hardware required for I/O.
OUT
- Write the character in A to the console. No processor
registers should be modified by this routine.
IN
- Test for a character from the console, and return it
in A if one is available. Otherwise clear A to zero.
No other registers should be modified by this routine.
1.1 8085 Restart Interrupts
OMEN Computers - - - https://github.com/osmibity - - - Page: 12
OMEN ALPHA
=========
MON85 reserves two "restart" interrupts: RST 0 is similar to a
physical RESET, causes a cold restart of the monitor. This
instruction should be used with CAUTION during a debugging session
because any breakpoints set in the user program will be
"forgotten", and not properly removed. RST 1 is used by MON85 to
regain control at breakpoints. Opcodes of breakpointed
instructions are replaced by RST 1 whenever the user program is
executed, and are restored whenever the monitor is re-entered.
This insures that the operation of breakpoints is transparent to
you during the debugging session.
If for any reason a 'RST 1' ($CF) instruction is encountered in
the user program (and is not a breakpoint), command mode will be
entered without the '** Breakpoint' message.
All other "restart" interrupts are re-vectored to the
corresponding locations in the first page of memory occupied by
the user program (as identified by the 'U' command).
1.2 Breakpoints
MON85 allows you to set breakpoints in your program, such that
you will be given control whenever the program reaches a
breakpoint, and can examine or change things before proceeding.
MON85 also allows you to TRACE a program, so that you can see each
instruction and register contents as it executes.
MON85 is completely transparent to the program being tested
(unless timing loops are interrupted with BREAKPOINTS or TRACE).
When a breakpoint is encountered, or an instruction is traced,
MON85 uses one stack entry on the user program stack. Since this
consists of a PUSH and a POP, it should not affect any information
stacked by the user program. However, you should be aware of this,
in case you are examining the stack, or your program trys to
reclaim data already popped from the stack. (It is very poor
practice, to write programs which depend on the stack contents
below the stack pointer).
When a breakpoint is encountered, the message '** Breakpoint n'
is printed where n is the number of the breakpoint (0-7). If TRACE
is ON, no other action is taken, otherwise command mode is entered
(If the 'A' switch (see below) is ON the registers are also
displayed).
2. MON85 COMMANDS
The following commands are recognized by MON85, and may be entered
whenever MON85 is in COMMAND MODE, which is indicated by the 'C> '
prompt:
2.1 A ON|OFF
This switch turns ON or OFF the automatic register display which
occurs whenever a breakpoint is encountered or an instruction is
stepped in trace mode (see below). The default value for 'A' is
ON.
2.2 B [0-7 address]
Sets one of eight breakpoints [0-7] at the specified address. Once
OMEN Computers - - - https://github.com/osmibity - - - Page: 13
OMEN ALPHA
=========
set, a breakpoint remains in effect until it is removed by setting
it to address ZERO (0). Breakpoints are completely invisible, and
may be added, removed or changed at any time without adverse
affects. If the 'B' command is issued with no operands, the
current breakpoints, and the settings of the 'A', 'S' and 'T'
flags (see below) are displayed. A displayed address of '****'
indicates that a breakpoint is not set.
2.3 C
Copies bytes of memory from the to the
address.
2.4 D
Displays memory in assembly listing format, starting at ,
continuing until an ESCAPE character is entered. Output can be
temporarily stopped with the SPACE BAR, and restarted with the
RETURN key (Additional SPACE's will output single lines). The
output is displayed in the following form:
' '
is the current memory location, is the
instruction opcodes (1, 2 or 3 bytes), is ASCII
representation of (all non-printable characters are
displayed as dots), and is the assembly language
instruction and operands which represents.
2.5 E
Edits memory, starting at . The address, and its contents
are displayed, followed by a '=' prompt. Sub commands are:
nn [nn ...] - Replace memory contents with HEX data bytes
'text ... - Replace memory contents with ASCII text
- Backup to previous locations
- Advance to next location with change
- Return to MON85 command prompt
2.6 F
Fills memory between the and addressses with the
specified .
2.7 G [address]
Loads the user program registers, and begins execution at the
specified address. If no [address] is given, execution begins at
the address contained in the user program program counter (PC). A
simple 'G' with no operands, is all that is needed to resume
execution after a breakpoint interrupt, or to resume trace mode
exection.
2.8 I
Reads the specified 8085 I/O port, and displays the data.
2.9 L [address]
Downloads code from the console port. MON85 will recognize and
accept either INTEL or MOTOROLA hex format download records. The
OMEN Computers - - - https://github.com/osmibity - - - Page: 14
OMEN ALPHA
=========
address in the FIRST download record is recorded as the program
BASE address (See 'U' command). If an [address] is given, the
address fields of each record are adjusted so that the code image
will be loaded into memory beginning at that address, otherwise it
is placed in memory at the absolute address contained in each
record.
If you accidently enter this command, you may enter either 'S9' or
':00' to signify a null download file and return to the command
prompt.
2.10 M
Displays memory in HEX/ASCII dump format starting at the specified
address. ESCAPE, SPACE, and CARRIAGE-RETURN can be used to control
the listing, the same is with the 'D' command.
2.11 O
This command writes the byte to the specified 8085 I/O
.
2.12 R [rp value]
Changes the contents of the user program register pair
Source Exif Data:
File Type : PDF
File Type Extension : pdf
MIME Type : application/pdf
PDF Version : 1.7
Linearized : No
Page Count : 18
Language : cs-CZ
XMP Toolkit : 3.1-701
Producer : Microsoft® Word 2016
Creator : Martin Maly
Creator Tool : Microsoft® Word 2016
Create Date : 2018:09:21 13:48:00+02:00
Modify Date : 2018:09:21 13:48:00+02:00
Document ID : uuid:A7B0D50B-782C-4648-B4C0-0F3E5A2847CD
Instance ID : uuid:A7B0D50B-782C-4648-B4C0-0F3E5A2847CD
Author : Martin Maly