annotate defs/mc09.d @ 3140:03b580a02945

Allow CoCo3FPGA-specific build of superdesc.asm Added new conditional CC3FPGA and code to "level1/modules/superdesc.asm" to reflect changes needed to build the new SD card descriptors for the Coco3FPGA.
author Bill Pierce <merlinious999@gmail.com>
date Sat, 04 Feb 2017 11:06:26 +0100
parents ef66bdab9b45
children 927ba5ebc06e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3116
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
1 IFNE MC09.D-1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
2 MC09.D SET 1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
3
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
4 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
5 * mc09.d - NitrOS-9 System Definitions for the Multicomp09
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
6 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
7 * When the primary boot loader passes control to the "track34" code
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
8 * the system memory map looks like this:
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
9 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
10 * $0000----> ==================================
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
11 * | |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
12 * | |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
13 * | RAM |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
14 * | |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
15 * | |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
16 * $FFD0---->|==================================|
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
17 * | I/O |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
18 * $FFE0---->|==================================|
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
19 * | RAM |
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
20 * |==================================|
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
21 * $FFFF---->
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
22 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
23 * The exception vectors at $FFF2 and onwards are initialised to vector to RAM
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
24 * as per coco1, just as krn expects. Specifically:
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
25 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
26 * $FFF2 holds vector to $0100 for SWI3
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
27 * $FFF4 holds vector to $0103 for SWI2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
28 * $FFF6 holds vector to $010F for FIRQ
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
29 * $FFF8 holds vector to $010C for IRQ
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
30 * $FFFA holds vector to $0106 for SWI
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
31 * $FFFC holds vector to $0109 for NMI
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
32 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
33 * The 16-location I/O space and the interrupt hook-up are described below.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
34 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
35 * $Id$
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
36 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
37 * Edt/Rev YYYY/MM/DD Modified by
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
38 * Comment
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
39 * ------------------------------------------------------------------
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
40 * 0.1 2015/10/17 Neal Crook. Tidy-up for first commit.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
41 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
42 NAM Multicomp09Defs
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
43 IFEQ Level-1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
44 TTL NitrOS-9 System Definitions for the Multicomp09
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
45 ELSE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
46 IFEQ Level-2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
47 TTL NitrOS-9 Level 2 System Type Definitions
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
48 ELSE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
49 IFEQ Level-3
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
50 TTL NitrOS-9 Level 3 System Type Definitions
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
51 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
52 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
53 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
54
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
55
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
56 **********************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
57 * CPU Type Definitions
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
58 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
59 Color SET 1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
60 Color3 SET 2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
61 IFEQ Level-1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
62 CPUType SET Color
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
63 ELSE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
64 CPUType SET Color3
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
65 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
66
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
67
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
68 ******************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
69 * Clock Speed Type Definitions
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
70 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
71 OneMHz EQU 1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
72 TwoMHz EQU 2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
73 IFEQ CPUType-Color
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
74 CPUSpeed SET OneMHz
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
75 ELSE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
76 CPUSpeed SET TwoMHz
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
77 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
78
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
79
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
80 **********************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
81 * Power Line Frequency Definitions
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
82 * Multicomp09 has no dependency on power line frequency but setting
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
83 * it to Hz50 is the simplest way to make TkPerSec 50, which is important
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
84 * [NAC HACK 2015Aug31] actually no need to change it - gets applied at
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
85 * command line in modules/makefile to generate a 50Hz and 60Hz version.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
86 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
87 Hz50 EQU 50 Assemble clock for 50 hz power
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
88 Hz60 EQU 60 Assemble clock for 60 hz power
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
89 IFNDEF PwrLnFrq
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
90 PwrLnFrq SET Hz50 Set to Appropriate freq
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
91 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
92
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
93
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
94 **********************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
95 * Ticks per second
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
96 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
97 IFNDEF TkPerSec
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
98 IFEQ PwrLnFrq-Hz50
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
99 TkPerSec SET 50
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
100 ELSE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
101 TkPerSec SET 60
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
102 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
103 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
104
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
105
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
106 ******************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
107 * ACIA type set up
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
108 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
109 * [NAC HACK 2015Sep06] is this used anywhere?
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
110 ORG 1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
111 ACIA6850 RMB 1 MC6850 acia.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
112 ACIA6551 RMB 1 SY6551 acia.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
113 ACIA2661 RMB 1 SC2661 acia.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
114 ACIATYPE SET ACIA6551
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
115
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
116
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
117 ****************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
118 * Special character Bit position equates
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
119 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
120 SHIFTBIT EQU %00000001
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
121 CNTRLBIT EQU %00000010
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
122 ALTERBIT EQU %00000100
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
123 UPBIT EQU %00001000
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
124 DOWNBIT EQU %00010000
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
125 LEFTBIT EQU %00100000
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
126 RIGHTBIT EQU %01000000
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
127 SPACEBIT EQU %10000000
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
128
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
129
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
130 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
131 * Multicomp09 Interrupts:
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
132 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
133 * NMI - wired to single-step logic
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
134 * FIRQ - (currently) unused
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
135 * IRQ - wired to timer interrupt, VDU/KBD virtual ACIA and serial
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
136 * ports 1 and 2.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
137
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
138 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
139 * Multicomp09 I/O space is $FFD0-$FFDF (16 locations). The equates
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
140 * below describe the I/O registers.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
141
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
142 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
143 * VDU/KBD (VIRTUAL ACIA)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
144 VDUSTA EQU $FFD0
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
145 VDUDAT EQU $FFD1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
146
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
147 * SERIAL PORT 1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
148 UARTSTA1 EQU $FFD2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
149 UARTDAT1 EQU $FFD3
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
150
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
151 * SERIAL PORT 2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
152 UARTSTA2 EQU $FFD4
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
153 UARTDAT2 EQU $FFD5
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
154
3118
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
155 ********************************************************************
3116
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
156 * GPIO device
3118
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
157 * SEE VHDL HEADER FOR PROG GUIDE
3116
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
158 GPIOADR EQU $FFD6
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
159 GPIODAT EQU $FFD7
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
160
3118
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
161 * values supported by GPIOADR register
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
162 GPDAT0 EQU 0
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
163 GPDDR1 EQU 1
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
164 GPDAT2 EQU 2
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
165 GPDDR3 EQU 3
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
166
ef66bdab9b45 mc09: Add mc09rtc command and GPIO registers defs in mc09.d
Neal Crook <foofoobedoo@gmail.com>
parents: 3116
diff changeset
167
3116
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
168 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
169 * SDCARD CONTROL REGISTERS
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
170 * SEE VHDL HEADER FOR PROG GUIDE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
171 SDDATA EQU $FFD8
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
172 SDCTL EQU $FFD9
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
173 SDLBA0 EQU $FFDA
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
174 SDLBA1 EQU $FFDB
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
175 SDLBA2 EQU $FFDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
176
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
177 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
178 * 50Hz TIMER INTERRUPT
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
179 * TIMER (READ/WRITE)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
180 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
181 * AT RESET, THE TIMER IS DISABLED AND THE INTERRUPT IS DEASSERTED. TIMER READS AS 0.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
182 * BIT[1] IS READ/WRITE, TIMER ENABLE.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
183 * BIT[7] IS READ/WRITE-1-TO-CLEAR, INTERRUPT.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
184 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
185 * IN AN ISR THE TIMER CAN BE SERVICED BY PERFORMING AN INC ON ITS ADDRESS
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
186 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
187 * READ WRITE COMMENT
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
188 * N/A $02 ENABLE TIMER
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
189 * $00 $01 TIMER WAS/REMAINS DISABLED. N=0.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
190 * $02 $03 TIMER WAS/REMAINS ENABLED, NO INTERRUPT. N=0.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
191 * $80 $81 TIMER WAS/REMAINS DISABLED, OLD PENDING INTERRUPT CLEARED. N=1.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
192 * $82 $83 TIMER WAS/REMAINS DISABLED, OLD PENDING INTERRUPT CLEARED. N=1.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
193 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
194 TIMER EQU $FFDD
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
195
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
196 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
197 * MEM_MAPPER2 CONTROL REGISTERS
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
198 * MMUADR (WRITE-ONLY)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
199 * 7 - ROMDIS (RESET TO 0)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
200 * 6 - TR
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
201 * 5 - MMUEN
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
202 * 4 - RESERVED
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
203 * 3:0 - MAPSEL
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
204 * MMUDAT (WRITE-ONLY)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
205 * 7 - WRPROT
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
206 * 6:0 - PHYSICAL BLOCK FOR CURRENT MAPSEL
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
207
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
208 MMUADR EQU $FFDE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
209 MMUDAT EQU $FFDF
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
210
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
211
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
212
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
213 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
214 ********************************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
215 * Coco stuff that's needed to allow other files to compile
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
216 * [NAC HACK 2015Oct17] need to get rid of this eventually.
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
217
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
218 A.AciaP SET $FF68 Aciapak Address
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
219 A.ModP SET $FF6C ModPak Address
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
220 DPort SET $FF40 Disk controller base address
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
221 MPI.Slct SET $FF7F Multi-Pak slot select
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
222 MPI.Slot SET $03 Multi-Pak default slot
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
223 PIA0Base EQU $FF00
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
224 PIA1Base EQU $FF20
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
225
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
226
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
227 ******************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
228 * VDG Devices
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
229 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
230 A.TermV SET $FFC0 VDG Term
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
231 A.V1 SET $FFC1 Possible additional VDG Devices
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
232 A.V2 SET $FFC2
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
233 A.V3 SET $FFC3
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
234 A.V4 SET $FFC4
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
235 A.V5 SET $FFC5
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
236 A.V6 SET $FFC6
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
237 A.V7 SET $FFC7
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
238
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
239
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
240 IFEQ Level-1
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
241
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
242 *************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
243 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
244 * NitrOS-9 Level 1 Section
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
245 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
246 *************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
247
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
248 HW.Page SET $FF Device descriptor hardware page
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
249
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
250 ELSE
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
251
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
252 *************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
253 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
254 * NitrOS-9 Level 2 Section
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
255 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
256 *************************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
257
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
258 ****************************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
259 * Dynamic Address Translator Definitions
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
260 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
261 DAT.BlCt EQU 8 D.A.T. blocks/address space
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
262 DAT.BlSz EQU (256/DAT.BlCt)*256 D.A.T. block size
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
263 DAT.ImSz EQU DAT.BlCt*2 D.A.T. Image size
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
264 DAT.Addr EQU -(DAT.BlSz/256) D.A.T. MSB Address bits
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
265 DAT.Task EQU $FF91 Task Register address
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
266 DAT.TkCt EQU 32 Number of DAT Tasks
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
267 DAT.Regs EQU $FFA0 DAT Block Registers base address
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
268 DAT.Free EQU $333E Free Block Number
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
269 DAT.BlMx EQU $3F Maximum Block number
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
270 DAT.BMSz EQU $40 Memory Block Map size
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
271 DAT.WrPr EQU 0 no write protect
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
272 DAT.WrEn EQU 0 no write enable
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
273 SysTask EQU 0 Coco System Task number
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
274 IOBlock EQU $3F
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
275 ROMBlock EQU $3F
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
276 IOAddr EQU $7F
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
277 ROMCount EQU 1 number of blocks of ROM (High RAM Block)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
278 RAMCount EQU 1 initial blocks of RAM
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
279 MoveBlks EQU DAT.BlCt-ROMCount-2 Block numbers used for copies
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
280 BlockTyp EQU 1 chk only first bytes of RAM block
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
281 ByteType EQU 2 chk entire block of RAM
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
282 Limited EQU 1 chk only upper memory for ROM modules
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
283 UnLimitd EQU 2 chk all NotRAM for modules
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
284 * NOTE: this check assumes any NotRAM with a module will
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
285 * always start with $87CD in first two bytes of block
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
286 RAMCheck EQU BlockTyp chk only beg bytes of block
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
287 ROMCheck EQU Limited chk only upper few blocks for ROM
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
288 LastRAM EQU IOBlock maximum RAM block number
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
289
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
290 ***************************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
291 * Color Computer 3 Specific
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
292 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
293 MappedIO EQU true (Actually False but it works better this way)
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
294
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
295 ********************
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
296 * Hardware addresses
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
297 *
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
298 GIMERegs EQU $FF00 Base address of GIME registers
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
299 IrqEnR EQU $FF92 GIME IRQ enable/status register
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
300 BordReg EQU $FF9A Border color register
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
301 PalAdr EQU $FFB0 Palette registers
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
302
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
303 HW.Page SET $07 Device descriptor hardware page
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
304
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
305 ENDC
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
306
174eb9eda7b1 New port "mc09" for Multicomp09, an FPGA-based 6809 machine
Neal Crook <foofoobedoo@gmail.com>
parents:
diff changeset
307 ENDC