File 0001-Use-ROMDIR-and-HOME-for-files.patch of Package dapple
From 1a3adc40189e2f48a84d16c17d55b1f88f918e0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= <kkaempf@suse.de>
Date: Thu, 28 Sep 2023 17:44:51 +0200
Subject: [PATCH 1/4] Use ROMDIR and HOME for files
---
dapple.c | 21 +++++++++++----------
ini.c | 11 +++++++++--
2 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/dapple.c b/dapple.c
index 8fa2387..3303454 100644
--- a/dapple.c
+++ b/dapple.c
@@ -177,7 +177,8 @@ putpixel(bufferzor,x,1+(y*2),vga2alleg(c));
}
extern int hdd;
-char rompath[128]={"apple.rom"};
+#define ROMDIR "/usr/share/dapple/"
+char rompath[128]={ROMDIR "apple.rom"};
//static char cmap[16]={0,4,1,5,3,7,2,9,6,13,8,12,10,14,11,15};
//zD was here too ]xD
//#ifdef SAFE
@@ -1541,11 +1542,11 @@ FONT *myfont;
strcpy(hd2,"hdv2.hdv");
/* if (!isatty(fileno(stdin))) */
- freopen("con","r",stdin);
+// freopen("con","r",stdin);
// if (argc>3) {usage(); return;}
- rom=fopen("disk.rom","rb");
+ rom=fopen(ROMDIR "disk.rom","rb");
if (!rom) {
printf ("disk ][ : ROM not available\n");
memset(DISKROM,0xff,sizeof(DISKROM)); /* set rom to 0xff */
@@ -1555,7 +1556,7 @@ FONT *myfont;
fclose(rom);
}
- rom=fopen("parallel.rom","rb");
+ rom=fopen(ROMDIR "parallel.rom","rb");
if (!rom) {
printf ("Parallel port : ROM not available\n");
memset(PICROM,0xff,sizeof(PICROM)); /* set rom to 0xff */
@@ -1565,7 +1566,7 @@ FONT *myfont;
fclose(rom);
}
- rom=fopen("massstor.rom","rb");
+ rom=fopen(ROMDIR "massstor.rom","rb");
if (!rom) {
printf ("Mass storage devices : ROM not available\n");
memset(HDDROM,0xff,sizeof(HDDROM)); /* set rom to 0xff */
@@ -1665,19 +1666,19 @@ FONT *myfont;
rom=fopen(rompath,"rb");
if (!rom) {
- strcpy(rompath,"apple.rom");
+ strcpy(rompath,ROMDIR "apple.rom");
rom=fopen(rompath,"rb");
if (!rom) {
- strcpy(rompath,"apple2o.rom");
+ strcpy(rompath,ROMDIR "apple2o.rom");
rom=fopen(rompath,"rb");
if (!rom) {
- strcpy(rompath,"apple2m.rom");
+ strcpy(rompath,ROMDIR "apple2m.rom");
rom=fopen(rompath,"rb");
if (!rom) {
- strcpy(rompath,"apple2eo.rom");
+ strcpy(rompath,ROMDIR "apple2eo.rom");
rom=fopen(rompath,"rb");
if (!rom) {
- strcpy(rompath,"apple2ee.rom");
+ strcpy(rompath,ROMDIR "apple2ee.rom");
rom=fopen(rompath,"rb");
if (!rom) {
printf ("No BIOS ROMs found.\n");
diff --git a/ini.c b/ini.c
index 51803ef..5d38fcb 100644
--- a/ini.c
+++ b/ini.c
@@ -22,6 +22,7 @@
#include <stdio.h>
#include <string.h>
+#include <sys/param.h>
extern void virtsetmonochrome(unsigned int mode);
extern unsigned char virtgetmonochrome();
@@ -52,12 +53,16 @@ extern char parallel[128], rompath[128];
void wrini(void)
{
+ char inipath[PATH_MAX];
FILE *file;
unsigned char vpal;
vpal=virtgetpalette();
- file=fopen("dapple.ini","wt");
+ sprintf(inipath, "%s/.dapple", getenv("HOME"));
+ mkdir(inipath, 0755);
+ strcat(inipath, "/dapple.ini");
+ file=fopen(inipath,"wt");
if (!file) return;
fprintf(file,"[Dapple]\n");
fprintf(file,"Sound=%s\n",smode?"Yes":"No");
@@ -108,10 +113,12 @@ void wrini(void)
void rdini(void)
{
+ char inipath[PATH_MAX];
FILE *file;
unsigned char mono;
- file=fopen("dapple.ini","rt");
+ sprintf(inipath, "%s/.dapple/dapple.ini", getenv("HOME"));
+ file=fopen(inipath,"rt");
if (!file) return;
while (!feof(file))
{
--
2.42.0