Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | - | 1 | Tue Jul 17 11:00:19 2018 Page 1 |
2 | |||
3 | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 | |||
9 | 2500 A.D. 65816 Macro Assembler #26960 - Version 5.02g |
||
10 | ----------------------------------------------------- |
||
11 | |||
12 | Input Filename : src\F9\start.asm |
||
13 | Output Filename : obj\F9\start.obj |
||
14 | Listing Has Been Relocated |
||
15 | |||
16 | |||
17 | 2587 .LIST on |
||
18 | 2588 |
||
19 | 2589 F8FFB1 .INCLUDE inc\dirp00.inc |
||
20 | 2590 ;---------------------------------------------------------- |
||
21 | 2591 ; DIRP00.ASM |
||
22 | 2592 ; PROGETTO: B1601 |
||
23 | 2593 ; |
||
24 | 2594 ; Variabili in Direct Page $00 |
||
25 | 2595 ;---------------------------------------------------------- |
||
26 | 2596 |
||
27 | 2597 ; sezione COMMON -- questo permette di includere il file in piu' file |
||
28 | 2598 |
||
29 | 2599 .LIST on |
||
30 | 2600 |
||
31 | 2601 DIRP00: .SECTION page0, ref_only, common ;Direct-Page 00 |
||
32 | 2602 |
||
33 | 2603 000000 .ABSOLUTE ;; inizia sempre da $00 |
||
34 | 2604 000000 .ORG 0x00 |
||
35 | 2605 000000 |
||
36 | 2606 000000 0000 JiffyClk .DW ; contatore 10ms 32 bit |
||
37 | 2607 000002 0000 .DW |
||
38 | 2608 000004 SysTmr .DS SYSTMRCNT ; system timer 0 (10ms) |
||
39 | 2609 000008 SysTMF .DS SYSTMRCNT ; flag timer (80 -> start) |
||
40 | 2610 00000C 00 Bnk0Flag .DB ; <7>: flag test RAM banco 0 ok |
||
41 | 2611 ; <6>: flag warm reset |
||
42 | 2612 00000D 00 RTCFlag .DB |
||
43 | 2613 |
||
44 | 2614 00000E diskstat .DS 2 ; flag device on ata bus #0 & #1 |
||
45 | 2615 ; <7>: device ready |
||
46 | 2616 ; <6>: compact flash device (C.F.) |
||
47 | 2617 ; <5>: device identification ok |
||
48 | 2618 ; <4>: MBR loaded |
||
49 | 2619 ; <3>: valid signature in MBR |
||
50 | 2620 ; <2>: first partition found&active |
||
51 | 2621 ; <1>: |
||
52 | 2622 ; <0>: valid partition flag |
||
53 | 2623 |
||
54 | 2624 ; <7>: device ready |
||
55 | 2625 ; <6>: USB device |
||
56 | 2626 ; <5>: compact flash device (C.F.) |
||
57 | 2627 ; <4>: device identification ok |
||
58 | 2628 ; <3>: MBR loaded |
||
59 | 2629 ; <2>: first partition found&active |
||
60 | 2630 ; <1>: always 1 |
||
61 | 2631 ; <0>: valid partition flag |
||
62 | 2632 000010 |
||
63 | Tue Jul 17 11:00:19 2018 Page 2 |
||
64 | |||
65 | |||
66 | |||
67 | |||
68 | 2633 |
||
69 | 2634 00000E atadev .EQU diskstat |
||
70 | 2635 |
||
71 | 2636 000010 usbdev .DS 2 ; flag flash disk on usb bus #0 |
||
72 | 2637 ; <7>: device plugged and ready |
||
73 | 2638 ; <6>: always 1 |
||
74 | 2639 ; <5>: device identification ok |
||
75 | 2640 ; <4>: MBR loaded |
||
76 | 2641 ; <3>: valid signature in MBR |
||
77 | 2642 ; <2>: first partition found&active |
||
78 | 2643 ; <1>: |
||
79 | 2644 ; <0>: valid partition flag |
||
80 | 2645 |
||
81 | 2646 000012 diskmax .DS 16 ; disk max. sector's |
||
82 | 2647 000012 atasec .EQU diskmax |
||
83 | 2648 00001A usbsec .EQU diskmax+8 |
||
84 | 2649 |
||
85 | 2650 |
||
86 | 2651 000022 atambr .DS 8 ; data for first partition found in mbr |
||
87 | 2652 ; first 3 bytes for start sector of partition |
||
88 | 2653 ; last byte for partition type |
||
89 | 2654 00002A usbmbr .DS 8 |
||
90 | 2655 |
||
91 | 2656 000032 ataprt .DS 8 ; total sec's of first partition |
||
92 | 2657 00003A usbprt .DS 8 ; total sec's of first partition |
||
93 | 2658 |
||
94 | 2659 |
||
95 | 2660 000042 00 usb0ch .DB ; usb0 (ch375/ch376) flag |
||
96 | 2661 ; <7>: module on |
||
97 | 2662 ; <6>: ch376 flag |
||
98 | 2663 ; <5:0>: chip version |
||
99 | 2664 |
||
100 | 2665 000043 00 usb0st .DB ; usb0 status |
||
101 | 2666 ; <7>: usb0 host mode ok |
||
102 | 2667 ; <6>: flash disk attached flag |
||
103 | 2668 ; <5>: usb device attached |
||
104 | 2669 |
||
105 | 2670 000044 00 fdcdrv .DB ; phisycal drive status (drive #0) |
||
106 | 2671 ; <7>: disk format established in bit 0&1 |
||
107 | 2672 ; <6>: double step seek done |
||
108 | 2673 ; <5>: trust format bit's (set after ok r/w) |
||
109 | 2674 ; <4>: write protect bit (if disk in drive) |
||
110 | 2675 ; <3>: don't care |
||
111 | 2676 ; <2>: don't care |
||
112 | 2677 ; <1>: HD disk if set else DD disk |
||
113 | 2678 ; <0>: CBM format if set else IBM format |
||
114 | 2679 |
||
115 | 2680 000045 00 vdrive .DB ; virtual drive status (ram disk, drive #1) |
||
116 | 2681 ; <7>: disk format established in bit 0&1 |
||
117 | 2682 ; <6>: change disk simulation (after format) |
||
118 | 2683 ; <5>: don't care |
||
119 | 2684 ; <4>: write protect bit (under sw control) |
||
120 | 2685 ; <3>: don't care |
||
121 | 2686 ; <2>: don't care |
||
122 | 2687 ; <1>: HD disk if set else DD disk |
||
123 | 2688 ; <0>: CBM format if set else IBM format |
||
124 | 2689 |
||
125 | Tue Jul 17 11:00:19 2018 Page 3 |
||
126 | |||
127 | |||
128 | |||
129 | |||
130 | 2690 000046 00 fdcctl .DB ; fdc controller status |
||
131 | 2691 ; <7>: drive is attached |
||
132 | 2692 ; <6>: drive need recalibration (restore) |
||
133 | 2693 ; <5>: FDC controller ok |
||
134 | 2694 ; <4>: motor on |
||
135 | 2695 ; <3>: dma is active |
||
136 | 2696 ; <2>: dma chip ok (post routine) |
||
137 | 2697 ; <1>: clock rate (1=HD,0=DD) |
||
138 | 2698 ; <0>: disk ready |
||
139 | 2699 |
||
140 | 2700 000047 00 fdctrk .DB ; fd: current seek track |
||
141 | 2701 000048 00 fdcerr .DB ; fd: last error code |
||
142 | 2702 000049 00 ataerr .DB ; ata: last error code |
||
143 | 2703 00004A 00 ataxer .DB ; ata: last extended error code |
||
144 | 2704 |
||
145 | 2705 00004B 00 CtrlBrk .DB ; flag CTRL+BREAK (NMI) |
||
146 | 2706 |
||
147 | 2707 00004C 0000 MemTop .DW ; top memoria RAM |
||
148 | 2708 00004E 00 .DB ; banco top mem |
||
149 | 2709 |
||
150 | 2710 00004F 00 DflTxtIn .DB ; device di default text input |
||
151 | 2711 000050 00 DflTxtOut .DB ; device di default text output |
||
152 | 2712 |
||
153 | 2713 000051 COPPtr LP ; long pointer for COP decoding |
||
154 | 2714 000054 00 COPIdx .DB ; COP signature/index |
||
155 | 2715 |
||
156 | 2716 000055 00 BiosEnt .DB ; flag accesso a bios setup |
||
157 | 2717 |
||
158 | 2718 ; variabili utilizzate da ACIA |
||
159 | 2719 000056 spwrk .DS $30 |
||
160 | 2720 |
||
161 | 2721 ; bios mem |
||
162 | 2722 000086 0000 nsize .DW ; dimensione blocco da allocare |
||
163 | 2723 ;bsize .DW ; dimensione vera blocco free |
||
164 | 2724 000088 0000 splitsz .DW ; dimensione blocco splittato |
||
165 | 2725 00008A 0000 bfree .DW ; puntatore blocco free |
||
166 | 2726 00008C 0000 hdrptr .DW ; puntatore header heap |
||
167 | 2727 |
||
168 | 2728 00008E 0000 pbrklv .DW ; current break level of current process |
||
169 | 2729 000090 0000 pbrkmin .DW ; minimum breal level of current process |
||
170 | 2730 000092 0000 pbrkmax .DW ; maximum breal level of current process |
||
171 | 2731 000094 |
||
172 | 2732 ; bios temp. work area |
||
173 | 2733 000094 bwrktmp .DS $28 |
||
174 | 2734 |
||
175 | 2735 0000BC 00 coptmp .DB ; temp. used while cop |
||
176 | 2736 |
||
177 | 2737 0000BD 00 tstser .DB ; check ser/usb test board post |
||
178 | 2738 ; <7>: VIA2 ok |
||
179 | 2739 ; <6>: PICRAM ok |
||
180 | 2740 ; <1>: UART 16C550 ok |
||
181 | 2741 ; <0>: R65C51 ok |
||
182 | 2742 |
||
183 | 2743 |
||
184 | 2744 ;crc16 .DW |
||
185 | 2745 |
||
186 | 2746 0000BD .RELATIVE |
||
187 | Tue Jul 17 11:00:19 2018 Page 4 |
||
188 | |||
189 | |||
190 | |||
191 | |||
192 | 2747 |
||
193 | 2748 .ENDS |
||
194 | 2749 |
||
195 | 2750 [01] .IFDEF _ACIA_INC_ |
||
196 | 2751 .INCLUDE INC\SP.INC |
||
197 | 2752 [00] .ENDIF |
||
198 | 2753 |
||
199 | 2757 .LIST on |
||
200 | 2758 |
||
201 | 2759 .STARTF9 |
||
202 | 2760 .EXTERN fscbmint, fssetup |
||
203 | 2761 |
||
204 | 2762 .LONGA off |
||
205 | 2763 .LONGI off |
||
206 | 2764 |
||
207 | 2765 |
||
208 | 2766 F90000 osinit: |
||
209 | 2767 F90000 8B phb |
||
210 | 2768 F90001 A9 00 lda #0 |
||
211 | 2769 F90003 48 pha |
||
212 | 2770 F90004 AB plb |
||
213 | 2771 F90005 ACC16 ; set break memory limit |
||
214 | 2772 F90005 C2 20 rep #PMFLAG |
||
215 | 2773 .LONGA on |
||
216 | 2774 .MNLIST |
||
217 | 2775 F90007 A9 00 08 lda #$0800 |
||
218 | 2776 F9000A 85 90 sta pbrkmin |
||
219 | 2777 F9000C 85 8E sta pbrklv |
||
220 | 2778 F9000E A9 00 F0 lda #$F000 |
||
221 | 2779 F90011 85 92 sta pbrkmax |
||
222 | 2780 F90013 ACC08 |
||
223 | 2781 F90013 E2 20 sep #PMFLAG |
||
224 | 2782 .LONGA off |
||
225 | 2783 .MNLIST |
||
226 | 2784 ;jsr xbufint |
||
227 | 2785 F90015 20 E7 59 jsr fscbmint ; init cbm f.s. emulator |
||
228 | 2786 F90018 20 18 04 jsr fssetup |
||
229 | 2787 F9001B AB plb |
||
230 | 2788 F9001C 6B rtl |
||
231 | |||
232 | |||
233 | Lines Assembled : 2772 Errors : 0 |
||
234 | |||
235 | |||
236 |