-
Notifications
You must be signed in to change notification settings - Fork 8
/
TODO
109 lines (81 loc) · 1.81 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Compiler
cc68 rules for cleaning up booluge/boollt etc
Stamp out compiler JMP for JBRA and make sure it works on as68
See if can remove other changes for typecast now fixed the typecast code
(done assign)
X and fp tracking
Rule to clean up the usual 32bit store where we don't need the result again
something like
std %1,x
ldd @sreg
std %2,x
ldd %1,x
; notused D
but more importantly and may need a special rule long stores to array via
putind
std @tmp
ldd %1,x
ldd @sreg
std %2,x
ldd @tmp
; notused D
so we eliminate the std @tmp - will need a compiler marker so we can tell
if it's this use of @tmp.
Libraries
Fill in the many missing blanks for pure 6800 library code
32bit maths needs debug
tosmuleax
tosudiveax (and signed versions)
tosumodeax
tosdiveax
tosmodeax
Optimize the lib680* shifters to spot by 8,16,24 and do moves.
Teach cc basic options people use even as no-ops (-O -g -s)
[-O can turn on register support or something for now. Proper optimizer
will make it more relevant, -Os needs to go to compiler in the end]
What to do about cc standard output format ? Use -C 0x100 absolute ?
Can we fix --add-source cc65 option and fix/clean up the others
Take out cc65 machine type support
For Fuzix hook the stack checker into a wrapper for brk/sbrk so it does
real checks. Can we use this for space expansion hooks ?
Fuzix binary format option including tacking on debug data
General count the 1 bits multiply helper
(and maybe general tool to generate lib code for them)
Library
atexit
atol
memmove
Probably should stay in C
strcasecmp
strncasecmp
strcasestr
strcoll
strcspn
strsep
strpbrk
strsep
strspn
strtok
strtol
strtoul
strxfrm
rand
Extras that are useful
_ltoa
_itoa
strlcpy
strlcat
Optional BSDisms/alias
bcmp
bcopy
bsearch
bzero
index
rindex
swab
Null defines
htons
ntohs
htonl
ntohl
+