Introduction

The circuits below are from the Motorola M6800 Microprocessor Application Manual.

M6800 Single Step Circuitry
M6800 Single Step Circuitry
S1
STEP
1
2
3
SN74H00
U1
A
4
5
6
SN74H00
U1
B
R1
1000
+
5
V
R2
1000
+
5
V
S2
RUN/HALT
10
9
8
SN74H00
U1
C
13
12
11
SN74H00
U1
D
R3
1000
+
5
V
R4
1000
+
5
V
R
J
K
Q
Q
1
14
3
2
12
13
SN74H73
U2-A
∅1
∅1
R
J
K
Q
Q
5
7
10
6
9
8
SN74H73
U2-B
+5V
S
R
D
Q
Q
3
2
4
1
5
6
SN74H74
U3
A
+5V
+5V
1
2
3
SN74H00
U5
A
HALT
Halt/Run
Step

When the Halt input is in the low state, all activity in the machine will be halted. This input is level sensitive. In the halt mode, the machine will stop at the end of an instruction, Bus Available will be at a one level, Valid Memory Address will be at a zero, and all other three-state lines will be in the three-state mode.

Transition of the HALT line must not occur during the last 250ns of Phase 1 (∅1). To insure single instruction operation, the HALT line must go high for one Phase 1 (∅1) clock cycle.

The circuit on the right, helps insure the proper conditions for single stepping. It is intended that switch S1 is a dual action momentary switch and S2 is a standard dual action switch. And that both switches are in their normally closed position. U1-6 (Step) and U1-11 (Halt/Run) will both be at a logic 0. This keeps U2 and U3 in a reset condition, forcing HALT to a logic 1.

The Timing Diagram below is helpful in understanding the Single Step mode.

  • T0-T1 - Normal system clock.
  • T1-T2 - The Halt/Run switch is moved to the Halt position.
  • T2-T3 - The next rising edge of ∅1 will toggle U3A-Q to a "1". This will change HALT to a "0" and the system will go into a halt condition.
  • T3-T4 - Indeterminate number of clocks.
  • T4-T5 -
  • T5-T6 -
  • T6-T7 - Indeterminate number of clocks.
  • T7-T8 -
  • T8-T9 -
  • T9-T10 -
M6800 Single Step Timing
T0
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
∅ 1
∅ 1
Halt/Run
U3A-Q
Step
U2A-Q
U2B-Q
HALT
M6800 DMA Circuitry

The term Direct Memory Access (DMA) is applied to a variety of techniques for speeding up overall system operation by loading and unloading memory faster than can be done using an MPU control program. DMA is often described as a means of allowing fast peripherals (perhaps another Microprocessor), to access the system memory without "bothering" the MPU. However, most DMA procedures do interfere with normal operation to some extent.

There are several ways that DMA can be accomplished. It just depends on how much you want the processor to be affected. Methods range from completly halting the processor, and accessing the data. To allowing external access during instruction cycles, reducing throughput or increasing execution time appreciably. Then there are methods that are somewhere in between the two. And that's what this section is about.

The specification for the M6800 requires two non-overlapping clocks (∅1 and ∅2). I'm not going to go into great detail, because you can simply read about the details in the M6800 Microprocessor Application Manual, starting in Chapter 4 - M6800 Famly Hardware Characteristics.

M6800 Direct Memory Access (DMA) Circuitry
K1100A
1 MHz Crystal
Oscillator
50 ±2%
Duty Cycle
1
2
3
MC3000
U1-A
4
5
6
MC3000
U1-B
1
2
3
MC3001
U2-A
4
5
6
MC3001
U2-B
10
9
8
MC3000
U1-C
10
9
8
MC3001
U2-C
13
12
11
MC3001
U2-D
S
R
D
Q
Q
11
12
10
13
9
8
SN74H74
U3
B
+5V
+5V
DMA REQ
R1
1,000 Ω
+
5
V
13
12
SN74HCT04
U4
D
11
10
SN74HCT04
U4
E
9
8
SN74HCT04
U4
F
∅2
MPU ∅2
MPU ∅1
∅1
∅1
To MPQ6842
Inverting
Clock
Buffers
A1
Y1
A2
Y2
A3
Y3
A4
Y4
G
1
2
18
4
16
6
14
8
12
SN74H241
U6 A
1
2
SN74HCT04
U4
A
MPU VMA
3
4
SN74HCT04
U4
B
4
5
6
SN74H00
U5
B
5
6
SN74HCT04
U4
C
VMA
E
E
VMA
VMA·∅2
DMA_CYCLE
∅2
∅2