-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathtodo.txt
101 lines (69 loc) · 3.23 KB
/
todo.txt
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
Ideas for tasks / subprojects to do next
----------------------------------------
*** Speed ***
- Figure out what the cause of slowness in printing the test suite names in Praxix is. See if it can be made faster.
- Setup profiling, where we can see how much time is spent in different instructions over a session (Log # of executions and # of timer ticks).
- Optimise find_word_in_dictionary by stopping when searching > word. Possibly also use binary search to search dictionary faster.
- Make memory reading more efficient. While reading continuous memory, we only need to check RAM address at first byte and when entering a new page.
Old todo: - reuse index and skip tests if same block as previous call to read_z_*
- Add fast-loader code?
Create PETSCII <-> ZSCII conversion routines. Make them fast.
- support custom alphabets in Z5 onwards
System to enable support for Swedish, German, French games etc. Maybe with option to include custom character set?
Timed input
Old todo: - allow delay/routine in read_text
Color support
Basic sound effect support (low-pitched beep and high-pitched beep)
save/restore
Copy SP and PC to below stack. Save this, stack and dynmem as one file.
Create our own screen handling routines to give us full control, including not scrolling status line off screen.
Extend virtual memory RAM up to $ffff (And disable trace automatically if RAM at page $cf00 is used for Vmem)
Old todo: - use more memory, $E000-$FFFF, perhaps also $D000-$E000?
Put first four entries of z_operand_value_(low/high)_arr on zeropage. Saves 200+ bytes and makes all instructions faster.
Figure out how to best place loader, interpreter and different parts of story file on 1, 2 or 3 disk sides.
Old todo: - rewrite floppy access code to use all available sectors
Old todo: - support splitting of large files onto two floppies
Create easy-to-use tool (Wizard style?) to pick a story file and build disk image(s) with the right interpreter etc. Shouldn't require building anything from source code, installing third-party software etc.
Improve ZSCII / PETSCII conversion with special cases for accented characters
; Instructions which have not yet been fully implemented
; ------------------------------------------------------
; 0OP
; ---
; save
; restore
; restart
;
; 1OP
; ---
;
; 2OP
; ---
; set_colour
;
; VAR
; ---
; input_stream
; copy_table
; print_table
;
; EXT
; ---
; save
; restore
; print_unicode
; check_unicode
DONE:
- the .block range in readblocks need to be increased
Fix random opcode (see notes under Instructions... below)
- Czech tests: https://github.com/DustinCampbell/ZGo/tree/master/zcode/czech
https://www.ifarchive.org/indexes/if-archiveXinfocomXinterpretersXtools.html
- space, comma, newline, printx, printy, printa, etc. only in DEBUG
catch/throw
Buffering/word wrap
[MORE] prompts
Possible alternative versions / extensions
------------------------------------------
* Support for C1581 disks (can hold 3160 blocks of user data)
* Support for SD2IEC, which can use fileseek operators to load any part of a file in the file system.
* Support for REU
* C128 version which can use a C1571, additional RAM and 80-column mode.