Mercurial > hg > Members > kono > nitros9-code
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 |
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 |