File 0003-Explain-how-to-get-a-disk-file.patch of Package exorsim
From 10e387423cdf2e83223c13beef15cc7cf112d526 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= <kkaempf@gmail.com>
Date: Sat, 15 Jul 2023 13:49:07 +0200
Subject: [PATCH 3/3] Explain how to get a disk file
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
---
exor.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/exor.c b/exor.c
index 6d6f5dd..7b523f1 100644
--- a/exor.c
+++ b/exor.c
@@ -25,6 +25,7 @@
#include <sys/poll.h>
#include <signal.h>
#include <unistd.h>
+#include <errno.h>
#include "sim6800.h"
#include "exor.h"
@@ -854,8 +855,20 @@ int load_drive(int n)
long t;
f = fopen(drive[n].name, "r+");
if (!f) {
- fprintf(stderr, "Couldn't open '%s'\n", drive[n].name);
+ if (errno == ENOENT) {
+ fprintf(stderr, "*** Couldn't open '%s'\n", drive[n].name);
+ fprintf(stderr, "Copy it from /usr/share/exorsim/disks/%s\n", drive[n].name);
+ fprintf(stderr, "or get it from http://www.bitsavers.org/bits/Motorola/Exorcisor\n");
return -1;
+ }
+ else if (errno == EACCES) {
+ fprintf(stderr, "*** Disk file '%s' must be writable\n", drive[n].name);
+ return -1;
+ }
+ else {
+ fprintf(stderr, "*** Couldn't open '%s': %d/%s\n", drive[n].name, errno, strerror(errno));
+ return -1;
+ }
}
fseek(f, 0, SEEK_END);
t = ftell(f);
--
2.41.0