Mercurial > hg > Members > kono > nitros9-code
annotate 3rdparty/utils/fpgarom/test.asm @ 3148:ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Includes Brett Gordon's CocoFPGA Boot ROM.
author | Bill Pierce <merlinious999@gmail.com> |
---|---|
date | Sat, 04 Feb 2017 18:54:49 +0100 |
parents | |
children |
rev | line source |
---|---|
3148
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
1 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
2 ;;; Boot OS9 via CoCoBoot interface |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
3 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
4 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
5 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
6 CR equ 13 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
7 SP equ 32 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
8 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
9 DBUF0 equ $600 ; we'll borrow some memory from basic |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
10 DBUF1 equ $700 ; another buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
11 SCRPTR equ $0002 ; point to the os screen pointer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
12 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
13 DD.BIT equ $6 ; 2B no of sectors per cluster |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
14 DD.NAM equ $1f ; 32B volume name field |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
15 DD.DIR equ $8 ; 3B descriptor cluster for root dir |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
16 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
17 FD.SIZ equ $9 ; 4B size of file in bytes |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
18 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
19 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
20 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
21 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
22 ;;; Low Ram Variables |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
23 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
24 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
25 org $2000 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
26 RAM equ * |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
27 root rmb 3 ; 3b lsn of root dir |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
28 ;; FCB - vars needed to control file access. |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
29 sptr rmb 2 ; ptr to current segment |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
30 dptr rmb 2 ; ptr to data buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
31 bcount rmb 2 ; number of bytes left in buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
32 fcounth rmb 2 ; number of bytes left in file (high word) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
33 fcount rmb 2 ; number of bytes left in file (low word) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
34 ;; and a buffer for directory entries |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
35 dirbuf rmb 32 ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
36 ksize rmb 2 ; "stacked" size of os9 boot file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
37 stack rmb 64 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
38 stackb ; bottom of stack |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
39 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
40 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
41 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
42 ;;; Code |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
43 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
44 ;;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
45 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
46 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
47 org $c000 ; sit low |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
48 prestart |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
49 jmp start ; me first, but jump over DATA |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
50 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
51 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
52 BOOT fcn "OS9Boot" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
53 KRN fcn "ccbkrn" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
54 str0 fcn "Loading OS9Boot" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
55 str1 fcn "Loading ccbkrn" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
56 str2 fcn "Xfr Control to KRN..." |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
57 str3 fcn "CoCoBoot SDIO" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
58 str4 fcn "Vol Name: " |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
59 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
60 start |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
61 orcc #$50 ; shut off interrupts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
62 lds #stackb ; set stack |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
63 ;; clear RAM vars |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
64 ldx #RAM |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
65 ldb #stack-RAM |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
66 jsr memz |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
67 ;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
68 ldx #$ff90 ; setup gimme |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
69 jsr gime ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
70 clr $ffa0 ; set mmu bank 0 to phys 0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
71 * clr $ffdf ; set SAM RAM mode |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
72 ;; setup screen |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
73 jsr scrSetup ; setup screen |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
74 ldx #str3 ; print banner |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
75 jsr putscr ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
76 x@ bra x@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
77 ;; init SD card |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
78 jsr ll_init |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
79 lbcs initerr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
80 ;; get LSN0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
81 ldx #DBUF0 ; set disk arg |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
82 stx DPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
83 clr LSN |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
84 clr LSN+1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
85 clr LSN+2 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
86 ;; Test for CCPT here !!!! |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
87 jsr ccpttest |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
88 ;; try to mount os9 filesystem |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
89 jsr getlsn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
90 ;; print volume name |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
91 ldx #str4 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
92 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
93 ldx #DBUF0+DD.NAM |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
94 jsr putscr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
95 ;; get root dir's lsn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
96 ldx #DBUF0+DD.DIR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
97 ldu #root |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
98 jsr cpy3 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
99 ;; open boot file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
100 ldx #str0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
101 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
102 ldx #BOOT |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
103 jsr nopen |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
104 lbcs fnferr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
105 ldx #dirbuf+$1d ; !!! replace with constant |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
106 ldu #LSN ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
107 jsr cpy3 ; set LSN = lsn of dirent |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
108 jsr open ; and open the file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
109 ldd fcounth ; check size |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
110 lbne toobig ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
111 ;; calculate start address |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
112 ldd fcount ; save os9 size for passing to KRN |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
113 std ksize ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
114 ldd #$f000 ; f000 - fcount = start address |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
115 subd fcount ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
116 clrb ; and round it down |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
117 tfr d,x ; X = cpu load address |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
118 cmpx #$4000 ; cant go lower |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
119 lblo toobig |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
120 ;; set mmu |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
121 lsra |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
122 lsra |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
123 lsra |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
124 lsra |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
125 lsra ; A = mmu bank no |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
126 ldy #$ffa0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
127 leay a,y ; Y = beginning mmu |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
128 ldb #1 ; 1 is first os9 system block |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
129 a@ stb ,y+ ; store bank no in mmu |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
130 cmpy #$ffa7 ; did we move to the last mmu block |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
131 beq b@ ; yes, then quit looping |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
132 incb ; increment bank no |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
133 bra a@ ; repeat |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
134 ;; copy os9boot into memory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
135 b@ jsr fload ; load os9boot into memory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
136 jsr putCR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
137 ;; open krn file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
138 ldx #str1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
139 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
140 ldx #KRN |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
141 jsr nopen |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
142 bcs fnferr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
143 ldx #dirbuf+$1d ; !!! replace with constant |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
144 ldu #LSN ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
145 jsr cpy3 ; set LSN = lsn of dirent |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
146 jsr open ; and open the file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
147 ldx fcounth ; check size of krn file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
148 lbne krnsize ; is way too big |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
149 ldx fcount ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
150 cmpx #$f00 ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
151 lbne krnsize ; wrong size |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
152 ;; copy krn file into memory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
153 ldx #$f000 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
154 jsr fload ; load ccbkrn into memory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
155 jsr putCR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
156 ;; clear out DP page |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
157 ldx #0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
158 clrb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
159 jsr memz |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
160 ;; set dp |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
161 tfr b,dp |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
162 ;; set gime mirror |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
163 ldx #$90 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
164 jsr gime |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
165 ;; jump to OS9 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
166 ldx #str2 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
167 jsr putscr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
168 ldx $f009 ; KRN relative start address |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
169 leax $f000,x ; make it absolute |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
170 ldu #ksize ; U = ptr to os9boot size |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
171 orcc #$50 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
172 jmp ,x ; jump to kernel (bye!) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
173 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
174 iloop bra iloop |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
175 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
176 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
177 fnferr ldx #p0@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
178 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
179 a@ bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
180 p0@ fcn ": FNF Error!" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
181 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
182 initerr ldx #p0@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
183 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
184 a@ bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
185 p0@ fcn "Driver Init Error!" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
186 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
187 mnterr ldx #p0@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
188 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
189 a@ bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
190 p0@ fcn "LSN0: bad format!" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
191 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
192 toobig ldx #p0@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
193 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
194 a@ bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
195 p0@ fcn "Too Big!" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
196 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
197 krnsize |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
198 ldx #p0@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
199 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
200 a@ bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
201 p0@ fcn "Wrong Size!" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
202 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
203 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
204 ;;; Test for presence of CCPT partitioning |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
205 ccpttest |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
206 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
207 ldd DBUF0 ; get magic |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
208 cmpd #$4343 ; check for "CC" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
209 lbne no@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
210 ldd DBUF0+2 ; check for "PT" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
211 cmpd #$5054 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
212 lbne no@ ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
213 no@ ldx #p0@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
214 jsr putscr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
215 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
216 p0@ fcn "CCPT not found." |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
217 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
218 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
219 ;;; Setup Screen for os9 (sigh) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
220 scrSetup |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
221 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
222 ;; set colors: green on black |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
223 ldb #$12 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
224 stb $ffbc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
225 ldb #0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
226 stb $ffbd |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
227 ;; clear a screen's worth of video memory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
228 ldb #$3b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
229 stb $ffa0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
230 ldx #$0000 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
231 ldd #$2020 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
232 a@ std ,x++ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
233 cmpx #$0400 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
234 bne a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
235 ;; set screen pointer up |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
236 ldd #8 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
237 std SCRPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
238 clr $ffa0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
239 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
240 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
241 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
242 ;;; Setup memory with gimme setting, aka Do os9's work :( |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
243 ;;; takes: X = address |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
244 ;;; returns: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
245 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
246 gime |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
247 pshs d,x,u |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
248 ldu #table@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
249 lda #16 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
250 a@ ldb ,u+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
251 stb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
252 deca |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
253 bne a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
254 puls d,x,u,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
255 table@ .dw $6c00 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
256 .dw $0000 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
257 .dw $0900 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
258 .dw $0000 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
259 .dw $0320 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
260 .dw $0000 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
261 .db $00 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
262 .dw $ec01 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
263 .db $00 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
264 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
265 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
266 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
267 ;;; Read file into memory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
268 ;;; takes: X = address to load, file opened. |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
269 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
270 fload pshs b,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
271 a@ jsr readb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
272 bcs done@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
273 stb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
274 bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
275 done@ puls b,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
276 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
277 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
278 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
279 ;;; open a file via a name |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
280 ;;; takes: X = filename (zero termed) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
281 ;;; returns: dirbuf set to file's FD, C set on error. |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
282 nopen |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
283 pshs d,x,u |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
284 ;; open root directory |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
285 ldx #root |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
286 ldu #LSN |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
287 jsr cpy3 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
288 jsr open |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
289 ;; get a dirent into buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
290 ldu 2,s ; U = filename |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
291 b@ lda #32 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
292 ldx #dirbuf |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
293 a@ jsr readb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
294 bcs nfound@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
295 stb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
296 deca |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
297 bne a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
298 jsr os9toz |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
299 ldx #dirbuf |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
300 jsr strcmp |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
301 bcc found@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
302 bra b@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
303 nfound@ coma |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
304 puls d,x,u,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
305 found@ clra |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
306 puls d,x,u,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
307 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
308 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
309 ;;; zero mem |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
310 ;;; takes: X = ptr, B = number of byte to zero |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
311 ;;; returns: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
312 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
313 memz |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
314 pshs b,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
315 a@ clr ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
316 decb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
317 bne a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
318 puls b,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
319 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
320 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
321 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
322 ;;; strcmp |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
323 ;;; takes: X = zstring, U = zstring |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
324 ;;; returns: C clear if equal |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
325 strcmp |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
326 pshs b,x,u |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
327 a@ ldb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
328 cmpb ,u+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
329 bne ne@ ; not equal |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
330 tstb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
331 beq e@ ; equal |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
332 bra a@ ; loop |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
333 e@ clrb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
334 puls b,x,u,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
335 ne@ comb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
336 puls b,x,u,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
337 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
338 ;;; change dirbuf's name to a z-string |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
339 os9toz |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
340 pshs b,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
341 ldx #dirbuf |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
342 tst ,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
343 beq out@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
344 a@ ldb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
345 bpl a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
346 andb #$7f |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
347 stb -1,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
348 clr ,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
349 out@ puls b,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
350 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
351 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
352 ;;; Open file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
353 ;;; takes: LSN = lsn of file's FD |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
354 ;;; returns: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
355 open |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
356 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
357 ldx #DBUF1 ; load dbuf1 with file's FD |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
358 stx DPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
359 jsr getlsn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
360 ldd #DBUF1+$10 ; first segment |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
361 std sptr ; save ptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
362 jsr fill ; and get first sector |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
363 ;; set fcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
364 ldd DBUF1+FD.SIZ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
365 std fcounth |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
366 ldd DBUF1+FD.SIZ+2 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
367 std fcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
368 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
369 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
370 ;;; get one byte from file |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
371 ;;; takes: nothing, |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
372 ;;; returns: B = byte, C set on EOF |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
373 readb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
374 pshs a,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
375 ldd fcount ; is the entire file out of bytes? |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
376 beq eof@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
377 ldd bcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
378 bne a@ ; if left don't refill |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
379 ;; refill file's data buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
380 jsr fill |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
381 ;; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
382 a@ ldd fcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
383 subd #1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
384 std fcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
385 ldd bcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
386 subd #1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
387 std bcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
388 ldx dptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
389 ldb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
390 stx dptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
391 clra |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
392 puls a,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
393 eof@ coma |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
394 puls a,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
395 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
396 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
397 fill |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
398 pshs d,x,u ; save regs |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
399 jsr spin1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
400 ldx sptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
401 ldd 3,x ; get sector count |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
402 bne a@ ; no more secs left in seg? |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
403 ;; get next segment |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
404 ldx sptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
405 leax 5,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
406 stx sptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
407 ;; fill buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
408 a@ ldx sptr ; copy segment's LSN to args |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
409 ldu #LSN ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
410 jsr cpy3 ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
411 ldx #DBUF0 ; set data buffer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
412 stx DPTR ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
413 jsr getlsn ; and get the sector |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
414 ;; increment segment |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
415 ldx sptr ; increment segment's LSN |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
416 jsr inc3 ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
417 ldd 3,x ; decrement segment's sector count |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
418 subd #1 ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
419 std 3,x ; |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
420 ;; set file dirs |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
421 ldd #256 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
422 std bcount |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
423 ldd #DBUF0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
424 std dptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
425 puls d,x,u,pc ; return |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
426 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
427 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
428 ;;; Spin the ticker |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
429 ;;; takes: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
430 ;;; returns: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
431 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
432 spin1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
433 pshs b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
434 ldb #'. |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
435 jsr putc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
436 puls b,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
437 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
438 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
439 ;;; Copy 3 bytes value |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
440 ;;; take: X = src ptr, U = dst ptr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
441 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
442 cpy3 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
443 pshs d,x,u |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
444 ldd ,x++ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
445 std ,u++ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
446 ldb ,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
447 stb ,u |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
448 puls d,x,u,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
449 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
450 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
451 ;;; increment 3 byte value by one |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
452 ;;; takes: X = ptr to 3 bytes |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
453 ;;; returns: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
454 inc3 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
455 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
456 ldd 1,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
457 addd #1 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
458 std 1,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
459 ldb ,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
460 adcb #0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
461 stb ,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
462 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
463 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
464 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
465 ;;; deblocker to translate 256B LSN to a 512B LSN |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
466 ;;; takes: args in LSN/DPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
467 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
468 getlsn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
469 pshs b,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
470 ldx #LSN ; get pointer |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
471 lsr ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
472 ror ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
473 ror ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
474 ldb #1 ; 256b lower read |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
475 bcc a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
476 negb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
477 a@ stb SMALL |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
478 jsr ll_read |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
479 puls b,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
480 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
481 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
482 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
483 ;;; Dump 128 byte to screen |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
484 ;;; takes: X = ptr to data |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
485 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
486 dump |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
487 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
488 jsr putCR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
489 lda #8 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
490 pshs a ; put row counter |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
491 b@ lda #8 ; column counter |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
492 pshs x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
493 a@ ldb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
494 jsr putb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
495 jsr putSP |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
496 deca |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
497 bne a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
498 puls x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
499 clr 8,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
500 jsr putscr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
501 dec ,s |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
502 bne b@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
503 leas 1,s |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
504 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
505 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
506 ;;; Print a Space |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
507 putSP |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
508 pshs b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
509 ldb #SP |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
510 jsr putc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
511 puls b,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
512 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
513 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
514 ;;; Print a CR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
515 putCR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
516 pshs d |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
517 ldb #$3b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
518 stb $ffa0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
519 ldd SCRPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
520 addd #32-8 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
521 andb #~$1f |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
522 addd #8 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
523 std SCRPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
524 clr $ffa0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
525 puls d,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
526 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
527 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
528 ;;; Print a Z string |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
529 ;;; takes: X = ptr to string |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
530 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
531 puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
532 pshs b,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
533 a@ ldb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
534 beq done@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
535 jsr putc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
536 bra a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
537 done@ puls b,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
538 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
539 ;;; Print a 3 byte value ( in hex ) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
540 ;;; takes: X = ptr to value |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
541 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
542 put3 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
543 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
544 ldd ,x++ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
545 jsr putw |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
546 ldb ,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
547 jsr putb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
548 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
549 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
550 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
551 ;;; Print a word ( in hex) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
552 ;;; takes: D = word |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
553 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
554 putw |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
555 pshs b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
556 tfr a,b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
557 bsr putb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
558 puls b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
559 bsr putb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
560 rts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
561 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
562 ;;; Print a byte (in hex) |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
563 ;;; takes: B = byte |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
564 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
565 putb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
566 pshs d |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
567 lsrb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
568 lsrb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
569 lsrb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
570 lsrb |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
571 bsr putn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
572 ldb 1,s |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
573 bsr putn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
574 puls d,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
575 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
576 ;;; Print a Char |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
577 ;;; takes: B = charactor |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
578 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
579 putc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
580 pshs d,x |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
581 lda #$3b ; put 3b in bank 0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
582 sta $ffa0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
583 ldx SCRPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
584 stb ,x+ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
585 stx SCRPTR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
586 clr $ffa0 ; put 0 in bank 0 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
587 puls d,x,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
588 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
589 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
590 ;;; Print a nibble |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
591 ;;; takes: B = nibble |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
592 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
593 putn |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
594 pshs b |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
595 andb #$f |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
596 addb #$30 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
597 cmpb #$39 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
598 bls a@ |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
599 addb #7 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
600 a@ jsr putc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
601 puls b,pc |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
602 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
603 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
604 ;;; Print a string followed by a CR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
605 ;;; takes: X = zero termed string |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
606 ;;; returns: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
607 ;;; modifies: nothing |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
608 putscr |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
609 jsr puts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
610 jsr putCR |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
611 rts |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
612 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
613 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
614 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
615 include "sd.asm" |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
616 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
617 ende equ * |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
618 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
619 |
ffa4b0273cc7
3rdparty/utils/fpgarom: Utilities for CoCo3FPGA booting
Bill Pierce <merlinious999@gmail.com>
parents:
diff
changeset
|
620 end prestart |