annotate level1/modules/rominfo.asm @ 2958:77500452de1c

bootman: Rename assembler files to .as
author Tormod Volden <debian.tormod@gmail.com>
date Sun, 09 Feb 2014 22:53:29 +0100
parents e93ace49362e
children 03ae05578ec0
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
2930
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
24 * Tested (for level 1) on XRoar
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
25 * The ROMPak must be autostarting by firing FIRQ
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
26 *
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
27 IFNE ROMPak
2930
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
28 jmp $C000+start+3 Offset 3 due to this line
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
29 PakOffs equ $C000-$8000
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
30 ELSE
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
31 PakOffs equ 0
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
32 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
33
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
34 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
35
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
36 size 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 name fcs /ROMInfo/
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
39 fcb edition
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
40
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
41 start equ *
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
42
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
43 IFGT Level-1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
44
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
45 * NitrOS-9 Level 2 - CoCo 3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
46 * Bring the CoCo 3 to sanity
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
47 orcc #IntMasks disable FIRQ, IRQ
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
48 clr $FFD9 go into fast mode
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
49 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
50 sta $FF90
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
51 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
52
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
53 * Setup MMU
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
54 ldx #DAT.Regs
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
55 leay MMUTbl,pcr
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
56 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
57 ldw #16
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
58 tfm y+,x+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
59 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
60 ldb #16
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
61 MMULoop lda ,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
62 sta ,x+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
63 decb
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
64 bne MMULoop
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
65 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
66
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
67 * 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
68 ldd #$0000
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
69 std $FF98
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
70 std $FF9A
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
71 std $FF9E
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
72 ldd #$0FE0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
73 std $FF9C
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
74
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
75 * Initialize PIAs
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
76 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
77 ldd #$FF34
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
78 clr 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
79 clr 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
80 deca
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
81 sta ,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
82 lda #$F8
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
83 sta 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
84 stb 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
85 stb 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
86 clr 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
87 lda #$02
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
88 sta ,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
89
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
90 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
91 ldx #PIA0Base
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
92 clr 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
93 clr 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
94 clr ,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
95 sta 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
96 stb 1,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
97 stb 3,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
98
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
99 tfr b,dp
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
100 clr 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
101
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 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
104 sta $FF90
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
105
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
106 bra RelROM
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 * MMU
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
109 MMUTbl
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
110 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
111 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
112
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
113 * 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
114 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
115 ldy #$2600 dst address (RAM)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
116 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
117 ldw #$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
118 tfm x+,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
119 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
120 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
121 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
122 cmpx #$EC00+$1200 at end?
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
123 blo copyloop nope, copy more...
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
124 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
125 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
126
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
127 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
128
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
129 * 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
130 ldx #PIA1Base PIA1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
131 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
132 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
133 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
134 ldd #$FF34
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
135 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
136 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
137 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
138 clr 1,x $FF20 = DDR, motoroff
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
139 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
140 deca A = $FE after deca
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
141 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
142 lda #$F8
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
143 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
144 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
145 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
146 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
147 ldb #$02
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
148 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
149 clrb
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
150 tfr b,dp B = 0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
151 ldb #$04
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
152 clr -2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
153 bitb 2,x
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
154
2929
8629f64b7dd3 rominfo: Disable autostart interrupt signal from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2609
diff changeset
155 IFNE ROMPak
8629f64b7dd3 rominfo: Disable autostart interrupt signal from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2609
diff changeset
156 lda #$36 inhibit ROMPak autostart FIRQ
8629f64b7dd3 rominfo: Disable autostart interrupt signal from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2609
diff changeset
157 ELSE
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
158 lda #$37
2929
8629f64b7dd3 rominfo: Disable autostart interrupt signal from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2609
diff changeset
159 ENDC
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
160 sta PIA1Base+3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
161
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
162 lda PIA0Base+3
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
163 ora #$01
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
164 sta PIA0Base+3
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 lda PIA1Base+2
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
167 anda #$07
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
168 sta PIA1Base+2
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 * VDG Mode
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
171 sta $FFC0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
172 sta $FFC2
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
173 sta $FFC4
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
174
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
175 * 64K DRAM (M0=0, M1=1)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
176 sta $FFDA RESET M0
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
177 sta $FFDD SET M1
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
178
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
179 * ROM relocation code -- copies the boot track into $2600
2930
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
180 RelROM ldx #$AE00+PakOffs src address (ROM)
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
181 ldy #$2600 dst address (RAM)
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
182 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
183 ldw #$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
184 tfm x+,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
185 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
186 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
187 std ,y++ put 2 bytes to dst
2930
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
188 cmpx #$AE00+$1200+PakOffs at end?
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
189 bne copyloop nope, copy more...
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
190 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
191 * BOOT relocation code -- copies the bootfile into $2600+$1200
2930
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
192 RelBOOT ldx #$8000+PakOffs
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
193 ldy #$2600+$1200
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
194 IFNE H6309
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
195 ldw #$2E00
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
196 tfm x+,y+
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
197 ELSE
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
198 cpy2loop ldd ,x++
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
199 std ,y++
2930
e93ace49362e rominfo.asm: Fix booting from ROMPak
Tormod Volden <debian.tormod@gmail.com>
parents: 2929
diff changeset
200 cmpx #$8000+$2E00+PakOffs
2609
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
201 blo cpy2loop
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
202 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
203 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
204
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
205 ENDC
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
206
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
207 emod
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
208 eom equ *
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
209 end
9dd4f422aac7 Added NitrOS-9 ROM Kit from Cloud-9
Boisy Pitre <boisy.pitre@nuance.com>
parents:
diff changeset
210