forked from bcd/freewpc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
107 lines (91 loc) · 5.5 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
The following list of work items was generated by grepping for "TODO"
through the code, then sorted according to feature and priority.
Poor Design
* Remove gendefines???
* "Idle" functions aren't really idle... see 'timing' branch
* Teach gencallset to ignore code that isn't being compiled in.
* Replace FIF with something more intelligent. In Progress.
* Move printf and game state machine code out of the system page.
Missing Feature
* Lamp power saver level
* Abort after so many ball searches, or try another method (chase ball?)
* Coin Door Ballsave
* Lamp strobing, like newer Sterns
* deff_nice
* Flasher allocation for lamp effects
* Add lock magnet/Magna-Goalie/goalie driver
* Sound effects cannot alter volume temporarily
Bugs
* TZ clock decoding is not perfect.
* When changing adjustments, 'confirmation' screen does not work.
* Factory defaults should be different per country code.
* Switch levels/edges tests do not work. In Progress.
* DCS sound bringup does not work well
Compiler Changes
* Multiply by 16 should not be unrolled to shift; mul works best.
* sprintf() jump table per character is way too large.
* Non-variadic arguments in a variadic function are OK to place in
registers.
again in May 2009?
Nice to Have
* ./include/freewpc.h:/* TODO - move these elsewhere */
* ./include/freewpc.h:/* Uncommon software modules - TODO : shouldn't automatically include */
* ./include/printf.h:/* TODO : much of this is implementing a 'varargs' type facility.
* Score sweeping for player up
* ./kernel/font.c: /* TODO - use a real strcpy() here that is more efficient */
* ./kernel/frame.c: /* TODO - use word copies if possible */
Uncategorized
./common/device.c:/* TODO : is this needed? Can use sys_init_complete instead? */
./common/device.c: * TODO - how to do this is also device-specific. */
./common/device.c: * TODO : this should be a global event that other modules
./common/device.c: /* TODO - this logic probably belongs somewhere else.
./common/device.c: /* TODO - this logic probably belongs somewhere else */
./common/device.c:#if 0 /* TODO */
./common/plunger.c: /* TODO - none of this logic works if the shooter switch is broken.
./common/plunger.c: /* TODO - after locking a ball, adding a new ball to the
./common/rtc.c: /* TODO - should read this from the native system */
./common/trough.c: /* TODO : For TZ, this keeps a ball on the outhole even
./include/m6809/m6809.h: * TODO - for small, odd values of N, no optimization is
./include/m6809/m6809.h: /* TODO - memcpy isn't always going to work */
./include/mode.h: /* TODO */
./include/mode.h: /* TODO */
./kernel/animation.c: /* TODO : for video modes there should be a callback here for
./kernel/deff.c: /* TODO */
./kernel/frame.c: /* TODO - remove this and force all callers of the
./kernel/leff.c: * (TODO : as long as they do not use the same lamps!.) There are
./kernel/leff.c: /* TODO - this is slow */
./kernel/leff.c: lamp_leff1_erase (); /* TODO : these two functions go together */
./kernel/printf.c: /* TODO : this used to be a 'register' variable, but
./kernel/printf.c: /* TODO - detect buffer overflow here and signal an error */
./kernel/sound.c: /* TODO : do something like this elsewhere for sound syncing */
./kernel/sound.c: task_sleep (TIME_200MS); /* TODO : needed? */
./kernel/timer.c: if (0) /* TODO : add condition that ball is live */
Uncategorized Machine Code
./machine/t2/drop.c: /* TODO - debounce drops */
./machine/tz/amode.c:/* TODO : use flipcode module to implement this */
./machine/tz/autofire.c: /* TODO : balls landing here when not expected
./machine/tz/autofire.c: /* TODO - If the autofire switch trips during the 'open
./machine/tz/autofire.c: /* TODO : these sleeps should be done in the spawned task,
./machine/tz/autofire.c: /* TODO - don't always want to launch right away, e.g. for
./machine/tz/autofire.c: /* TODO : Poll the autofire switches and empty it if something
./machine/tz/clocktest.c: /* TODO : this should be common logic */
./machine/tz/door.c: /* TODO : When called from the camera award, this always
./machine/tz/gumball.c: /* TODO : when ball searching at game start, see if the
./machine/tz/gumball_test.c: /* TODO - poll more frequently, and draw less often */
./machine/tz/loop.c: /* TODO : count powerball loops and award bonuses
./machine/tz/multiball.c:/* TODO - on a missed left ramp exit switch, use the
./machine/tz/powerball.c: /* TODO - in the 'maybe' state, pulse magnets to
./machine/tz/powerball.c: /* TODO : music is not being stopped correctly if Powerball
./machine/tz/powerball.c: /* TODO : if this switch triggers and we did not expect
./machine/tz/powerball_test.c:/* TODO : copied from powerball.c */
./machine/tz/skill.c: TODO : genmachine can be made to generate two events here,
./machine/tz/sssmb.c: /* TODO: handle case where red jackpot switch is tripped but
./platform/wpc/task.c: /* TODO : if there are no free blocks, it might be possible
./platform/wpc/task.c: /* TODO - verify that interrupts are not disabled when calling this */
./platform/wpc/task.c: TODO : the accuracy here is a bit wonky. For example, a task could
./platform/wpc/task.c: /* TODO: on entry to the next function, it is expected that 'X' has
./platform/wpc/task.c: * TODO : why not just set the B/X register directly here and then
./test/adjust.c:/* TODO - these really belong in feature_config. They are not being
./test/window.c:/* TODO - if no solenoids/flashers defined, solenoid_test_ok
./test/window.c:/* TODO - these two window ops are identical; we are only
./test/window.c: /* TODO : ordered_lamp_test_item */