annotate level2/modules/kernel/ccbkrn.txt @ 3195:6eb2edad80d8

L2: Introduce symbol KrnBlk to define kernel block number This is the block number that the kernel is loaded into. This is platform-specific, a function of the behaviour of the platform MMU/DAT. CRCs are unaffected by this change.
author Neal Crook <foofoobedoo@gmail.com>
date Thu, 01 Jun 2017 22:13:49 +0100
parents 530759e9f289
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2615
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
1 * I eliminated the manual padding of the kernel. I inserted a fill
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
2 directive much further down in the source between the "regular"
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
3 module part of the kernel, and the fe00 page code. Down at that end
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
4 the assembler will auto-compute the size needed
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
5
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
6 * At entry, the kernel now pulls the size of the bootfile from the U
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
7 stack, which is still setup from CCB, and saves it to
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
8 its proper place in the DP. Also misc. DP flags are set - if boot
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
9 was attempted, and CPU speed is set (CCB uses high speed for coco3)
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
10
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
11 * at entry, the kernel now installs it's own debug printing and crash
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
12 routines, something that REL used to do.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
13
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
14 * there's a place where some IRQ-ish tables are copied down to the DP,
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
15 where I found a bug: reg Y was being filled with a bogus source
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
16 address. I'm NOT good with PCR addressing, but after fixing, my code
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
17 changes started working....maybe you want to verify this change.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
18
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
19 * read comments in the "calculate memory size" section... I got way
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
20 lucky on this one!
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
21
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
22 * the biggest functional changes occur at label L0170:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
23
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
24 - The kernel no longer verifies itself (and hense adds itself to the
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
25 modules directory), it now verifies itself and the preloaded
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
26 bootfile together. The kernel no longer reserves it's own memory
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
27 either, it now simply calls f$srqmem to do this for us and the
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
28 bootfile together as one big block.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
29
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
30 - AFTER reserving system memory and verifying, we now mark up the
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
31 sysDAT... I don't understand why we have to do this. Shouldn't
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
32 f$rsysmem do this for us?!?!
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
33
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
34 - we link to init and set CRC checking and jump to krnp2's exec.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
35
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
36 * Near commented out label L01D2, I've commented out this section, it
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
37 no longer needed as f$rsysmem DOES do this for the entire kernel
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
38 now, not just the bootfile
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
39
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
40 * the code at L01DF can be "inlined", nothing calls it but one place.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
41 One of the IRQ vectors borrow's this routine's RTS though ... goofy
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
42 speghetti code!
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
43
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
44 * AFTER all the normal included system call files, and BEFORE the FE00
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
45 page stuff near label S.SysIRQ I added automatic padding
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
46
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
47 * S.SysIRQ which is supposed to be in FE page, assembles at around
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
48 fdf1 or so.... which according to the comments is a BAD thing.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
49 Nothing seems to happen. Basically, the FE page code it TOO BIG to
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
50 fit!
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
51
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
52
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
53 And in f$srqmem.asm:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
54
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
55 * I modified this system call to request memory starting from 0xff00
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
56 rather than ed00... it might be a touch lesss efficient AFTER
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
57 booting, but it sure helped DURING booting. This is how I reused
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
58 fsrqmem to setup the KRN and OS9BOOT file in one swoop.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
59
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
60 * I changed f$boot to just issue a kernel panic. I'm not sure if this
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
61 is the thing to do. KRNP2 calls f$boot on chdir and open default
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
62 device error. I'm not sure if anything else calls it. Maybe it can
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
63 be it can be deleted and KRNP2 changed just to panic itself rather
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
64 than system calling to do so.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
65
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
66
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
67 *** All changes were made to a fresh CVS'd copy of Nitros9 Version 3.2.9.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
68 *** I have no idea if this all works on a coco2 or a 6309
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
69
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
70
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
71 *** CoCoBoot / OS9 Contract:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
72
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
73 - Size of the pre-loaded bootfile (NOT boot and cckrn) is passed as
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
74 the top 2 bytes on the U stack. MSB on top... the usually motorola
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
75 byte order. In Forth lingo, the top cell of the data stack is the
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
76 size of the bootfile. Calling the kernel works and appears just like
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
77 calling any other forth word, except we don't return, e.i.:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
78
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
79 : gotokernel ( u -- ) \ jump to kernel passing it u - the bootfile
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
80 \ size in bytes, this funtion doesn't return.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
81
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
82 - Module CCBKRN is loaded to block 0x3f at offset 0x1000, or 0xf000 in
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
83 cpu-space. CCBKRN must be exactly 0x0f00 in size and be in a
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
84 standard os9 executable module format.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
85
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
86 - The OS9Boot file is loaded on a page boundary just low enough in
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
87 cpu-space to fit below 0xf000 (the CCBKRN module) physical blocks
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
88 are allocated in order starting with block 0x01 (or 0x31 on a 128k
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
89 machine).
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
90
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
91 - The source of OS9Boot and CCBKRN is not guaranteed!
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
92
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
93 - Register Guarantees:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
94 D - not guaranteed
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
95 DP - not guaranteed
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
96 X - not guaranteed
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
97 Y - not guaranteed but usually will be in the 0x3800-0x6000 range
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
98 U - set to top of a stack usually in the 0x7e00-0x7f00
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
99 S - not guaranteed but usually will be in the 0x7f00 - 0x8000 range
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
100 CC - not guaranteed.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
101
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
102 - MMU Guarantees:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
103 physical block 0x3f will be banked in at 0xe000-0xff00 in cpu-space
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
104
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
105
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
106
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
107
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
108 *** CoCoBoot does this but maybe CCBKRN should do instead:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
109
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
110 - physical block 0x00 is in cpu-space at 0x0000 upon calling to
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
111 CCBKRN. DP is set to 0x00 and the DP area in block 0x00 is cleared.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
112
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
113 - CPU interrupts and Pia0 side B's interrupts are disabled.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
114
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
115 - memory map is guaranteed to look like this (in hex):
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
116
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
117 00 39 3a 3b 3c 3d 3e 3f
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
118
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
119 - Physical Block 3b will be cleared to spaces except offset 0x0000:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
120 will be initialized to 0x0008. This serves as a screen pointer to
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
121 kernel debug printing.
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
122
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
123 - The GIME registers will be set as follows:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
124
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
125 starting at 0xff90:
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
126 6c init0
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
127 00 init1
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
128 00 irq enable
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
129 00 firq enable
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
130 0900 timer register
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
131 0000 unused
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
132 0320 screen settings
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
133 0000 ????
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
134 00 ????
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
135 ec01 physical video address (block 3b offset 0x0008 )
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
136 00 horizontal offset / scroll
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
137
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
138 A mirror of these bytes will appear at 0x0090-0x009f in the DP
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
139
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
140
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
141
530759e9f289 Added ccbkrn from Brett Gordon (level 2 only for now)
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
142 Brett M. Gordon