oberheimmatrix1000
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
oberheimmatrix1000 [2016-07-28 17:31] – AidanDodds | oberheimmatrix1000 [2016-09-24 22:21] – [Memory Map] PIT registers gde | ||
---|---|---|---|
Line 42: | Line 42: | ||
Gareth is working on a [[https:// | Gareth is working on a [[https:// | ||
+ | |||
+ | ==== Matrix 6/100 links ==== | ||
+ | |||
+ | http:// | ||
+ | |||
+ | http:// | ||
+ | |||
+ | http:// | ||
+ | |||
===== Memory Map ===== | ===== Memory Map ===== | ||
< | < | ||
- | 0x0000 | + | 0x0000-0x1fff: |
I/O* | I/O* | ||
U819: { | U819: { | ||
- | 0x0000 T1* | + | 0x0000-0x03ff |
- | 0x0400 T2* | + | 0x0400-0x07ff |
- | 0x0800 T3* | + | 0x0800-0x0bff |
- | 0x0c00 T4* | + | 0x0c00-0x0fff |
T1-T4 are 82C54 Programmable Timers | T1-T4 are 82C54 Programmable Timers | ||
0x1000 DAC | 0x1000 DAC | ||
Line 75: | Line 84: | ||
b10000000 - DAC 4 | b10000000 - DAC 4 | ||
- | 0x1400 UORV* { | + | 0x1400-0x17ff |
| | ||
- | 0x1400 - $ U809 - 68850 - UART (if A9 = 0) | + | 0x1400-0x15ff |
- | 0x1600 - 82C54 Programmable Timer (if A9 = 1) | + | 0x1406 - Control/ |
+ | Control (write-only) { | ||
+ | Bit 0: Counter Divide Select 0 (CR0) | ||
+ | Bit 1: Counter Divide Select 1 (CR1) | ||
+ | Bit 2: Word Select 1 (CR2) | ||
+ | Bit 3: Word Select 2 (CR3) | ||
+ | Bit 4: Word Select 3 (CR4) | ||
+ | Bit 5: Transmit Control 1 (CR5) | ||
+ | Bit 6: Transmit Control 2 (CR6) | ||
+ | Bit 7: Receive Interrupt Enable (CR7) | ||
+ | } | ||
+ | Status (read-only) { | ||
+ | Bit 0: Receive Data Register Full (RDRF) | ||
+ | Bit 1: Transmit Data Register Empty (TDRE) | ||
+ | Bit 2: Data Carrier Detect (/DCD) active low | ||
+ | Bit 3: Clear To Send (/CTS) active low | ||
+ | Bit 4: Framing error (FE) | ||
+ | Bit 5: Receiver Overrun (OVRN) | ||
+ | Bit 6: Parity Error (PE) | ||
+ | Bit 7: Interrupt Request (IRQ) | ||
+ | } | ||
+ | } | ||
+ | 0x1407 - Transmit/ | ||
+ | } | ||
+ | 0x1600 - 82C54 Programmable Timer (if A9 = 1) { | ||
This timer is the source of /IRQ back to the 6809 | This timer is the source of /IRQ back to the 6809 | ||
+ | 0x1600 - Counter 0 Register | ||
+ | 0x1601 - Counter 1 Register | ||
+ | 0x1602 - Counter 2 Register | ||
+ | 0x1603 - Control Word Register | ||
+ | } | ||
} | } | ||
- | 0x1800 SW* | + | 0x1800-0x1bff |
Front panel switches: { | Front panel switches: { | ||
0x1800: Read push buttons 0-7 | 0x1800: Read push buttons 0-7 | ||
Line 97: | Line 135: | ||
} | } | ||
} | } | ||
- | 0x1c00 | + | 0x1c00-0x1fff WRITE ONLY |
U820: { | U820: { | ||
- | 0x1c00 L1* | + | 0x1c00-0x1c7f |
- | | + | |
- | | + | |
- | | + | |
- | $ U818 - 74LS174 - 6bit latch { | + | $ U818 - 74LS174 - 6bit latch, address bank register |
b000001 - VA13 | b000001 - VA13 | ||
b000010 - VA14 | b000010 - VA14 | ||
Line 111: | Line 149: | ||
b100000 | b100000 | ||
} | } | ||
- | | + | |
- | | + | |
- | | + | |
(LED1 to 3 are 7-segment displays labelled DISP 1 to 3 respectively. Segment mapping tbd) | (LED1 to 3 are 7-segment displays labelled DISP 1 to 3 respectively. Segment mapping tbd) | ||
- | | + | |
6 single LEDs { | 6 single LEDs { | ||
0x01 - CHANNEL | 0x01 - CHANNEL | ||
Line 158: | Line 196: | ||
</ | </ | ||
+ | ===== Component Datasheets ===== | ||
+ | ==== 6850 UART ==== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===== Using r2 ===== | ||
+ | |||
+ | To start radare2 on the image: | ||
+ | |||
+ | < | ||
+ | $ r2 -a mc6809 -m 0x8000 27256.bin | ||
+ | </ |
oberheimmatrix1000.txt · Last modified: 2016-09-26 20:21 by gde