1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 23:29:39 +00:00

Made the program-chaining exec() handle the X16 emulator's file-system.

This commit is contained in:
Greg King 2019-12-25 14:53:32 -05:00
parent 3fa253d31f
commit f067c4530f

View File

@ -1,7 +1,7 @@
/*
** Program-chaining function for Commodore platforms.
**
** 2019-11-08, Greg King
** 2019-12-25, Greg King
**
** This function exploits the program-chaining feature in Commander X16 BASIC's ROM.
**
@ -82,12 +82,15 @@ int __fastcall__ exec (const char* progname, const char* cmdline)
}
utoa (dv, basic.unit, 10);
/* Don't try to run a program that doesn't exist. */
fd = open (progname, O_RDONLY);
if (fd < 0) {
return _mappederrno (4); /* file not found */
/* The emulator supports only loading and saving on its file-system. */
if (dv != 1) {
/* Don't try to run a program that doesn't exist. */
fd = open (progname, O_RDONLY);
if (fd < 0) {
return _mappederrno (4); /* file not found */
}
close (fd);
}
close (fd);
n = 0;
do {