Skip to content

Commit 80a0ed1

Browse files
authored
Merge pull request #117 from cheveron/4.2-b9-Freysa
4.2 b9 freysa
2 parents b82ac84 + 77516f1 commit 80a0ed1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+1197
-354
lines changed

ChloeVM.app/Contents/Resources/chloehd/AUTOEXEC.ASC

+16-15
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,24 @@
44
40 print
55
50 print "Choose from the following options:"
66
60 print
7-
70 print "Animation demos: A) BOING ","B) JUGGLER","C) KAYAHARA"''
8-
80 print "DMA demos: D) AARDMAN","E) BADAPPLE","F) TAKEONME"''
9-
90 print "Emulator: G) TC2048"''
10-
100 print "Grahpics demos: H) SCRSHOW","I) VDPTEST"''
11-
110 print "Music demos: J) LASTV8","K) SKYFALL"''
7+
70 print "Animation demos: A) BOING ", "B) JUGGLER", "C) KAYAHARA"''
8+
80 print "Graphics demos: D) 2019 ", "E) SCRSHOW", "F) VDPTEST"''
9+
90 print "Music demos: G) LASTV8", "H) SKYFALL"''
10+
100 print "DMA demos: I) AARDMAN", "J) BADAPPLE", "K) TAKEONME"''
11+
110 print "Emulator: L) TC2048"''
1212
120 print "Exit: X) BASIC"
1313
130 input a$
1414
140 if a$="A" then run "boing"
1515
150 if a$="B" then run "juggler"
1616
160 if a$="C" then run "kayahara"
17-
170 if a$="D" then run "aardman"
18-
180 if a$="E" then run "badapple"
19-
190 if a$="F" then run "takeonme"
20-
200 if a$="G" then run "tc2048"
21-
210 if a$="H" then run "scrshow"
22-
220 if a$="I" then run "vdptest"
23-
230 if a$="J" then run "lastv8"
24-
240 if a$="K" then run "skyfall"
25-
250 if a$="X" then new
26-
260 goto 130
17+
170 if a$="D" then run "2019"
18+
180 if a$="E" then run "scrshow"
19+
190 if a$="F" then run "vdptest"
20+
200 if a$="G" then run "lastv8"
21+
210 if a$="H" then run "skyfall"
22+
220 if a$="I" then run "aardman"
23+
230 if a$="J" then run "badapple"
24+
240 if a$="K" then run "takeonme"
25+
250 if a$="L" then run "tc2048"
26+
260 if a$="X" then new
27+
270 goto 130
Binary file not shown.
Binary file not shown.

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/2019/SRC/2019.ASM

+3-10
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,7 @@ pause2:
207207

208208
load:
209209
ld a, (handle); // file handle
210-
rst divmmc; // issue a hookcode
211-
defb f_read; // read bytes
212-
ret; // end of subroutine
210+
jp SEFileRead; // exit via read file vector
213211

214212
fade:
215213
ld hl, $f800; // source palette
@@ -377,9 +375,7 @@ main_loop:
377375

378376
close:
379377
ld a, (handle); // get folder handle
380-
rst divmmc; // issue a hookcode
381-
defb f_close; // close it
382-
ret;
378+
jp SEFileClose; // exit via close file vector
383379

384380
scroll:
385381
ld ix, row_table; // table of addresses
@@ -414,10 +410,7 @@ clear_screen:
414410

415411
; // file handling
416412
open:
417-
ld a, '*'; // use current drive
418-
ld b, fa_read | fa_open_ex; // open for reading if file exists
419-
rst divmmc; // issue a hookcode
420-
defb f_open; // open file
413+
call SEFileOpenExists; // open file
421414
ld (handle), a; // store file handle
422415
ret; // end of subroutine
423416

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/2019/SRC/UNODOS3.INC

+25
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
;; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
126
; // UnoDOS 3 hook codes
227

328
divmmc equ 8;

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/AARDMAN/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/BADAPPLE/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;
Binary file not shown.

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/BOING/SRC/BOING.ASM

+3-10
Original file line numberDiff line numberDiff line change
@@ -241,21 +241,14 @@ palette_loop:
241241

242242
load:
243243
ld a, (handle); // file handle
244-
rst divmmc; // issue a hookcode
245-
defb f_read; // read bytes
246-
ret; // end of subroutine
244+
jp SEFileRead; // exit via read file vector
247245

248246
close:
249247
ld a, (handle); // get folder handle
250-
rst divmmc; // issue a hookcode
251-
defb f_close; // close it
252-
ret;
248+
jp SEFileClose; // exit via close file vector
253249

254250
open:
255-
ld a, '*'; // use current drive
256-
ld b, fa_read | fa_open_ex; // open for reading if file exists
257-
rst divmmc; // issue a hookcode
258-
defb f_open; // open file
251+
call SEFileOpenExists; // open file
259252
ld (handle), a; // store file handle
260253
ret; // end of subroutine
261254

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/BOING/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/HELP/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;
Binary file not shown.

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/JUGGLER/SRC/JUGGLER.ASM

+3-10
Original file line numberDiff line numberDiff line change
@@ -238,21 +238,14 @@ boink:
238238

239239
load:
240240
ld a, (handle); // file handle
241-
rst divmmc; // issue a hookcode
242-
defb f_read; // read bytes
243-
ret; // end of subroutine
241+
jp SEFileRead; // exit via read file vector
244242

245243
close:
246244
ld a, (handle); // get folder handle
247-
rst divmmc; // issue a hookcode
248-
defb f_close; // close it
249-
ret;
245+
jp SEFileClose; // exit via close file vector
250246

251247
open:
252-
ld a, '*'; // use current drive
253-
ld b, fa_read | fa_open_ex; // open for reading if file exists
254-
rst divmmc; // issue a hookcode
255-
defb f_open; // open file
248+
call SEFileOpenExists; // open file
256249
ld (handle), a; // store file handle
257250
ret; // end of subroutine
258251

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/JUGGLER/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/KAYAHARA/SRC/KAYAHARA.ASM

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ pr_key:
250250

251251
jp start; // skip shadow screen area
252252

253-
; // file handling
253+
; // file handling (cannot use SE Basic IV DOS API because entire shadow RAM is used as buffer)
254254
open:
255255
ld a, '*'; // use current drive
256256
ld b, fa_read | fa_open_ex; // open for reading if file exists

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/KAYAHARA/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;
Binary file not shown.

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/LASTV8/SRC/LASTV8.ASM

+3-9
Original file line numberDiff line numberDiff line change
@@ -103,23 +103,17 @@ load_player:
103103

104104
; // subroutines
105105
open:
106-
ld a, '*'; // use current drive
107-
ld b, fa_read | fa_open_ex; // open for reading if file exists
108-
rst divmmc; // issue a hookcode
109-
defb f_open; // open file
106+
call SEFileOpenExists; // open file
110107
ld (handle), a; // store file handle
111108
ret; // done
112109

113110
load:
114111
ld a, (handle); // file handle
115-
rst divmmc; // issue a hookcode
116-
defb f_read; // read bytes
117-
ret; // end of subroutine
112+
jp SEFileRead; // exit via read file vector
118113

119114
close:
120115
ld a, (handle); // file handle
121-
rst divmmc; // issue a hookcode
122-
defb f_close; // close file
116+
call SEFileClose; // close file
123117
ret; // done
124118

125119
; // data

ChloeVM.app/Contents/Resources/chloehd/PROGRAMS/LASTV8/SRC/UNODOS3.INC

+26
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
; // vector table address
2+
3+
vector equ $04c4;
4+
5+
; // SE Basic IV DOS API
6+
7+
SEFileAppend equ vector; // $00
8+
SEFileClose equ vector + 3; // $01
9+
SEFileCreate equ vector + 6; // $02
10+
SEFileLoad equ vector + 9; // $03
11+
SEFileOpen equ vector + 12; // $04
12+
SEFileOpenExists equ vector + 15; // $05
13+
SEFileRead equ vector + 18; // $06
14+
SEFileReadOne equ vector + 21; // $07
15+
SEFileRemove equ vector + 24; // $08
16+
SEFileRename equ vector + 27; // $09
17+
SEFileSave equ vector + 30; // $0a
18+
SEFileWrite equ vector + 33; // $0b
19+
SEFileWriteOne equ vector + 36; // $0c
20+
SEFolderCreate equ vector + 39; // $0d
21+
SEFolderOpen equ vector + 42; // $0e
22+
SEFolderRead equ vector + 45; // $0f
23+
SEFolderRemove equ vector + 48; // $10
24+
SEFolderSet equ vector + 51; // $11
25+
26+
127
; // UnoDOS 3 hook codes
228

329
divmmc equ 8;

0 commit comments

Comments
 (0)