-
Notifications
You must be signed in to change notification settings - Fork 19
/
todo.txt
111 lines (79 loc) · 3.15 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
102
103
104
105
106
107
108
109
110
111
Ideas for tasks / subprojects to do next
----------------------------------------
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?
Optimise find_word_in_dictionary by stopping when searching > word. Possibly also use binary search to search dictionary faster.
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.
Buffering/word wrap
[MORE] prompts
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?
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_*
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
Add fast-loader code?
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.
; Instructions which have not yet been fully implemented
; ------------------------------------------------------
; 0OP
; ---
; save
; restore
; restart
; show_status
;
; 1OP
; ---
;
; 2OP
; ---
; set_colour
;
; VAR
; ---
; print_char (handle ZSCII / PETSCII conversion, inlcluding special cases for accented characters)
; split_window
; set_window
; erase_window
; erase_line
; set_cursor
; get_cursor
; set_text
; buffer_mode
; input_stream
; sound_effect
; read_char
; tokenise
; encode_text
; 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
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.