Mercurial > hg > Members > kono > nitros9-code
comparison bootman/mach_coco3.a @ 2163:2db06bc0742a
Start of BootMan
author | boisy |
---|---|
date | Tue, 20 May 2008 14:43:00 +0000 |
parents | |
children | d280490500a8 |
comparison
equal
deleted
inserted
replaced
2162:755b1b8ea019 | 2163:2db06bc0742a |
---|---|
1 NAM mach_coco | |
2 TTL CoCo machine routines | |
3 | |
4 PSECT mach_coco,0,0,0,0,mach_init | |
5 | |
6 VSECT | |
7 ENDSECT | |
8 | |
9 PIA0Base equ $FF00 | |
10 PIA1Base equ $FF20 | |
11 DAT.Regs equ $FFA0 | |
12 | |
13 mach_init: | |
14 * CoCo 3 Initialization Code | |
15 clr $FFD9 go into fast mode | |
16 | |
17 * Setup MMU | |
18 ldx #DAT.Regs | |
19 leay MMUTbl,pcr | |
20 ldb #16 | |
21 MMULoop lda ,y+ | |
22 sta ,x+ | |
23 decb | |
24 bne MMULoop | |
25 | |
26 * Setup video | |
27 leau CC3Regs,pcr point to video setup data | |
28 ldx #$FF90 | |
29 Loop1 ldd ,u++ get the bytes | |
30 std ,x++ save in the hardware | |
31 cmpx #$FFA0 | |
32 bcs Loop1 | |
33 | |
34 * Set palettes up | |
35 leau PalTbl,pcr | |
36 ldy #$FFB0 palette register | |
37 ldb #16 | |
38 lbsr CopyRtn | |
39 | |
40 * Initialize PIAs | |
41 ldx #PIA1Base RG - Initialize the PIA 1 | |
42 ldd #$FF34 | |
43 clr 1,x cassette motor off, 0,x is DDR | |
44 clr 3,x 2,x is DDR | |
45 deca A = $FE | |
46 sta ,x cassette bit 0 input, all others output | |
47 lda #$F8 bits 7-3 output, bits 2-0 input | |
48 sta 2,x set DDR | |
49 stb 1,x 0,x not DDR | |
50 stb 3,x 2,x not DDR | |
51 clr 2,x | |
52 lda #$02 RS-232 bit hi | |
53 sta ,x set it | |
54 | |
55 lda #$FF all outputs | |
56 ldx #PIA0Base | |
57 clr 1,x 0,x is DDR | |
58 clr 3,x 2,x is DDR | |
59 clr ,x all inputs | |
60 sta 2,x all outputs | |
61 stb 1,x 0,x is not DDR | |
62 stb 3,x 2,x is not DDR | |
63 clr 2,x | |
64 | |
65 rts | |
66 | |
67 CopyRtn clra | |
68 tfr d,x | |
69 Copy1 ldb ,u+ | |
70 stb ,y+ | |
71 leax -1,x | |
72 bne Copy1 | |
73 rts | |
74 | |
75 * MMU | |
76 MMUTbl | |
77 fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F | |
78 fcb $38,$39,$3A,$3B,$3C,$3D,$3E,$3F | |
79 | |
80 * GIME register default values | |
81 CC3Regs fcb $EC CC2, MMU, IRQ, Vector page, SCS | |
82 fcb $00 map type 0 | |
83 fcb $00 no FIRQ | |
84 fcb $00 no IRQ | |
85 fdb $0900 timer | |
86 fcb $00 unused | |
87 fcb $00 unused | |
88 fcb $00 | |
89 fcb $00 | |
90 fcb $00 | |
91 fcb $00 | |
92 fdb $0FE0 | |
93 fcb $00 | |
94 fcb $00 | |
95 | |
96 * Palette register default colors | |
97 PalTbl | |
98 fcb $12 green | |
99 fcb $36 | |
100 fcb $09 blue | |
101 fcb $24 red | |
102 fcb $3F white | |
103 fcb $1B cyan | |
104 fcb $2D magenta | |
105 fcb $26 | |
106 fcb $00 black | |
107 fcb $12 green | |
108 fcb $00 black | |
109 fcb $3F white | |
110 fcb $00 black | |
111 fcb $12 green | |
112 fcb $00 black | |
113 fcb $26 | |
114 | |
115 | |
116 endsect |