annotate level1/modules/rominfo.asm @ 2918:ada61f1951b7

dalpha: Use cmds/makefile from d64 port The only difference was the duplicate dmode in a commands list.
author Tormod Volden <debian.tormod@gmail.com>
date Fri, 17 Jan 2014 22:46:19 +0100
parents 9dd4f422aac7
children 8629f64b7dd3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
1 ********************************************************************
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
2 * ROMInfo - NitrOS-9 ROM Relocation Code
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
3 *
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
4 * $Id: rominfo.asm,v 1.1 2004/04/05 03:34:39 boisy Exp $
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
5 *
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
6 * Edt/Rev YYYY/MM/DD Modified by
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
7 * Comment
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
8 * ------------------------------------------------------------------
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
9 * 1 1998/05/03 Boisy G. Pitre
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
10 * Created for the Coyota project and later productized.
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
11
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
12 nam ROMInfo
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
13 ttl NitrOS-9 ROM Relocation Code
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
14
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
15 ifp1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
16 use defsfile
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
17 endc
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
18
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
19 tylg set Systm+Objct
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
20 atrv set ReEnt+rev
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
21 rev set $01
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
22 edition set 1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
23
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
24 * Untested!
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
25 IFNE ROMPak
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
26 jmp $C000+start
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
27 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
28
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
29 mod eom,name,tylg,atrv,start,size
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
30
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
31 size equ .
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
32
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
33 name fcs /ROMInfo/
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
34 fcb edition
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
35
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
36 start equ *
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
37
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
38 IFGT Level-1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
39
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
40 * NitrOS-9 Level 2 - CoCo 3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
41 * Bring the CoCo 3 to sanity
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
42 orcc #IntMasks disable FIRQ, IRQ
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
43 clr $FFD9 go into fast mode
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
44 lda #$0A CC3 Mode, No MMU, 32K Int. ROM
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
45 sta $FF90
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
46 clr $FFDE RAM/ROM mode (upper 16K ROM at $C000)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
47
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
48 * Setup MMU
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
49 ldx #DAT.Regs
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
50 leay MMUTbl,pcr
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
51 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
52 ldw #16
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
53 tfm y+,x+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
54 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
55 ldb #16
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
56 MMULoop lda ,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
57 sta ,x+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
58 decb
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
59 bne MMULoop
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
60 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
61
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
62 * Set up CoCo 3 Video Registers at $FF98-$FF9F
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
63 ldd #$0000
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
64 std $FF98
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
65 std $FF9A
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
66 std $FF9E
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
67 ldd #$0FE0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
68 std $FF9C
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
69
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
70 * Initialize PIAs
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
71 ldx #PIA1Base RG - Initialize the PIA 1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
72 ldd #$FF34
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
73 clr 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
74 clr 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
75 deca
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
76 sta ,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
77 lda #$F8
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
78 sta 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
79 stb 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
80 stb 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
81 clr 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
82 lda #$02
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
83 sta ,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
84
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
85 lda #$FF RG - Initialize the PIA 0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
86 ldx #PIA0Base
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
87 clr 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
88 clr 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
89 clr ,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
90 sta 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
91 stb 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
92 stb 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
93
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
94 tfr b,dp
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
95 clr 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
96
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
97
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
98 lda #$CA RG - CC2 mode, MMU, constant DRAM, 32K internal ROM
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
99 sta $FF90
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
100
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
101 bra RelROM
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
102
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
103 * MMU
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
104 MMUTbl
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
105 fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
106 fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
107
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
108 * ROM relocation code -- copies the boot track into $2600 and JMPs to it
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
109 RelROM ldx #$EC00 src address (boot track in ROM)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
110 ldy #$2600 dst address (RAM)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
111 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
112 ldw #$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
113 tfm x+,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
114 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
115 copyloop ldd ,x++ get 2 bytes from src
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
116 std ,y++ put 2 bytes to dst
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
117 cmpx #$EC00+$1200 at end?
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
118 blo copyloop nope, copy more...
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
119 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
120 jmp $2602 jump to OS rel code
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
121
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
122 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
123
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
124 * NitrOS-9 Level 1 - CoCo 1/2
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
125 ldx #PIA1Base PIA1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
126 clr -3,x clear PIA0 Control Register A
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
127 clr -1,x clear PIA0 Control Register B
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
128 clr -4,x set PIA0 side A to input
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
129 ldd #$FF34
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
130 sta -2,x set PIA0 side B to output
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
131 stb -3,x enable PIA0 peripheral reg, disable PIA0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
132 stb -1,x MPU interrupts, set CA2, CA1 to outputs
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
133 clr 1,x $FF20 = DDR, motoroff
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
134 clr 3,x $FF22 = DDR, sound disabled
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
135 deca A = $FE after deca
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
136 sta ,x bits 1-7 are outputs, bit 0 is input on PIA1 side A
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
137 lda #$F8
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
138 sta 2,x bits 0-2 are inputs, bits 3-7 are outputs on B side
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
139 stb 1,x enable peripheral registers, disable PIA1 MPU
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
140 stb 3,x interrupts and set CA2, CB2 as outputs
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
141 clr 2,x set 6847 mode to alphanumeric
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
142 ldb #$02
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
143 stb ,x make RS-232 output marking
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
144 clrb
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
145 tfr b,dp B = 0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
146 ldb #$04
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
147 clr -2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
148 bitb 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
149
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
150 lda #$37
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
151 sta PIA1Base+3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
152
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
153 lda PIA0Base+3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
154 ora #$01
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
155 sta PIA0Base+3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
156
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
157 lda PIA1Base+2
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
158 anda #$07
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
159 sta PIA1Base+2
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
160
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
161 * VDG Mode
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
162 sta $FFC0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
163 sta $FFC2
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
164 sta $FFC4
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
165
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
166 * 64K DRAM (M0=0, M1=1)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
167 sta $FFDA RESET M0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
168 sta $FFDD SET M1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
169
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
170 * ROM relocation code -- copies the boot track into $2600
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
171 RelROM ldx #$AE00 src address (ROM)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
172 ldy #$2600 dst address (RAM)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
173 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
174 ldw #$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
175 tfm x+,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
176 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
177 copyloop ldd ,x++ get 2 bytes from src
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
178 std ,y++ put 2 bytes to dst
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
179 cmpx #$AE00+$1200 at end?
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
180 blo copyloop nope, copy more...
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
181 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
182 * BOOT relocation code -- copies the bootfile into $2600+$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
183 RelBOOT ldx #$8000
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
184 ldy #$2600+$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
185 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
186 ldw #$2E00
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
187 tfm x+,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
188 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
189 cpy2loop ldd ,x++
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
190 std ,y++
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
191 cmpx #$8000+$2E00
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
192 blo cpy2loop
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
193 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
194 jmp $2602 jump to OS rel code
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
195
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
196 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
197
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
198 emod
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
199 eom equ *
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
200 end
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
201