unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#73770] [PATCH 0/2] Add freedisksysrom
@ 2024-10-12 13:09 Maxim Cournoyer
  2024-10-12 13:17 ` [bug#73770] [PATCH 1/2] gnu: Add asm6f Maxim Cournoyer
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2024-10-12 13:09 UTC (permalink / raw)
  To: 73770
  Cc: Maxim Cournoyer, Adam Faiz, Liliana Marie Prikler,
	宋文武

This is a free BIOS implementation of the old Nintendo Famicom (NES) that
replaces the nonfree, firmware blob 'disksys.rom' (extracted from the actual
device).  It is useful with NES emulators such as jg-nestopia.

Maxim Cournoyer (2):
  gnu: Add asm6f.
  gnu: Add freedisksysrom.

 gnu/packages/assembly.scm  | 52 +++++++++++++++++++++++++++++++++++++-
 gnu/packages/emulators.scm | 41 ++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+), 1 deletion(-)


base-commit: d44beb9b4ad836781928a0c5667e94c0d6df13f0
-- 
2.46.0





^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#73770] [PATCH 1/2] gnu: Add asm6f.
  2024-10-12 13:09 [bug#73770] [PATCH 0/2] Add freedisksysrom Maxim Cournoyer
@ 2024-10-12 13:17 ` Maxim Cournoyer
  2024-10-12 13:17 ` [bug#73770] [PATCH 2/2] gnu: Add freedisksysrom Maxim Cournoyer
  2024-10-12 13:24 ` [bug#73770] [PATCH 0/2] " Liliana Marie Prikler
  2 siblings, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2024-10-12 13:17 UTC (permalink / raw)
  To: 73770; +Cc: Maxim Cournoyer

* gnu/packages/assembly.scm (asm6f): New variable.

Change-Id: Ib1c79dce8392bf11aa93d5741b5b61e03f0aa7ed
---
 gnu/packages/assembly.scm | 52 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 3e2890aa3b..75cb7de999 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2023 Simon South <simon@simonsouth.net>
@@ -122,6 +122,56 @@ (define-public asl
 manufacturers.")
       (license (list license:gpl2 license:gpl3)))))
 
+(define-public asm6f
+  (package
+    (name "asm6f")
+    (version "1.6_freem02")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/freem/asm6f")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vz2mbnnm71sns0f08qjlg5rsw2kykg2v6bah073hfi6zzkqw52p"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f                       ;no substantial test suite
+      #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)           ;no configure phase
+          (replace 'install
+            (lambda _
+              (install-file "asm6f" (string-append #$output "/bin"))))
+          (add-after 'install 'install-readme
+            (lambda _
+              (install-file "readme.txt"
+                            (string-append #$output "/share/doc/asm6f/")))))))
+    (home-page "https://github.com/freem/asm6f")
+    (synopsis "ASM6 6502 assembler fork for NES/Famicom")
+    (description "ASM6f is a fork of ASM6, primarily targeted at NES/Famicom
+development.
+@itemize
+@item Support for some illegal/undocumented opcodes
+@item FCEUX-compatible @file{.nl} output files
+@item Output of Lua-compatible symbol files
+@item New @code{IGNORENL} and @code{ENDINL} directives
+@item Support for iNES original and 2.0 header insertion
+@item Output of @file{.cdl} files, for use with FCEUX/Mesen
+@item Output of Mesen-compatible symbol files (both old and new formats)
+@item Generic +/- labels do not break @@local scope
+@item Support for @code{a:} prefix to force absolute addressing for
+zero-page addresses.
+@end itemize")
+    ;; The "license" reads: "This is free software.  You may use, modify, and
+    ;; / or redistribute any part of this software in any fashion."  A more
+    ;; explicit license clarification has been requested (see:
+    ;; https://github.com/freem/asm6f/issues/59).
+    (license (license:non-copyleft "file://readme-original.txt"))))
+
 (define-public nasm
   (package
     (name "nasm")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#73770] [PATCH 2/2] gnu: Add freedisksysrom.
  2024-10-12 13:09 [bug#73770] [PATCH 0/2] Add freedisksysrom Maxim Cournoyer
  2024-10-12 13:17 ` [bug#73770] [PATCH 1/2] gnu: Add asm6f Maxim Cournoyer
@ 2024-10-12 13:17 ` Maxim Cournoyer
  2024-10-12 13:24 ` [bug#73770] [PATCH 0/2] " Liliana Marie Prikler
  2 siblings, 0 replies; 4+ messages in thread
From: Maxim Cournoyer @ 2024-10-12 13:17 UTC (permalink / raw)
  To: 73770
  Cc: Maxim Cournoyer, Adam Faiz, Liliana Marie Prikler,
	宋文武

* gnu/packages/emulators.scm (freedisksysrom): New variable.

Change-Id: I6058d647ec0097a5b774afa3a999b8525325a648
---
 gnu/packages/emulators.scm | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index d1a9ab5b50..24e107f845 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -3722,6 +3722,47 @@ (define-public exomizer
     ;; zlib license with an (non-)advertising clause.
     (license license:zlib)))
 
+(define-public freedisksysrom
+  ;; There is no release; use the latest commit.
+  (let ((commit "0d5f95f109bb3aadf2bb9510bfda13879bbd5266")
+        (revision "0"))
+    (package
+      (name "freedisksysrom")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/jamesathey/FreeDiskSysROM")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0bmzmh3aq76jr31wn5lxvqvy9lpildxzqrvvqg1xxk5pvfjl8bip"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:tests? #f                     ;no test suite
+        #:phases
+        #~(modify-phases %standard-phases
+            (delete 'configure)         ;no configure script
+            (replace 'build
+              (lambda _
+                (invoke "asm6f" "freedisksys.asm")))
+            (replace 'install
+              (lambda _
+                (let ((libexec (string-append #$output "/libexec")))
+                  (install-file "freedisksys.bin" libexec)
+                  (with-directory-excursion libexec
+                    (symlink "freedisksys.bin" "disksys.rom"))))))))
+      (native-inputs (list asm6f))
+      (home-page "https://github.com/jamesathey/FreeDiskSysROM")
+      (synopsis "Implementation of the Famicom Disk System BIOS")
+      (description "FreeDiskSysROM aims to provide a replacement for the
+original @acronym{FDS, Famicom Disk System} BIOS (often referred to as
+@file{disksys.rom}) that can be freely redistributed and that is capable of
+running all published FDS software.")
+      (license license:lgpl3+))))
+
 (define-public qtrvsim
   (package
     (name "qtrvsim")
-- 
2.46.0





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#73770] [PATCH 0/2] Add freedisksysrom
  2024-10-12 13:09 [bug#73770] [PATCH 0/2] Add freedisksysrom Maxim Cournoyer
  2024-10-12 13:17 ` [bug#73770] [PATCH 1/2] gnu: Add asm6f Maxim Cournoyer
  2024-10-12 13:17 ` [bug#73770] [PATCH 2/2] gnu: Add freedisksysrom Maxim Cournoyer
@ 2024-10-12 13:24 ` Liliana Marie Prikler
  2 siblings, 0 replies; 4+ messages in thread
From: Liliana Marie Prikler @ 2024-10-12 13:24 UTC (permalink / raw)
  To: Maxim Cournoyer, 73770; +Cc: 宋文武, Adam Faiz

Am Samstag, dem 12.10.2024 um 22:09 +0900 schrieb Maxim Cournoyer:
> This is a free BIOS implementation of the old Nintendo Famicom (NES)
> that replaces the nonfree, firmware blob 'disksys.rom' (extracted
> from the actual device).  It is useful with NES emulators such as jg-
> nestopia.
Perhaps we should add some dashes to make it "free-disksys-rom"?  I
wouldn't split "disk" and "sys" despite the camel case, but I'm in the
mood for kebab otherwise.

More importantly, is it expected that users can just install the
package and run with it or are extra steps needed to import it into jg
et al.?

Cheers




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-10-12 13:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-12 13:09 [bug#73770] [PATCH 0/2] Add freedisksysrom Maxim Cournoyer
2024-10-12 13:17 ` [bug#73770] [PATCH 1/2] gnu: Add asm6f Maxim Cournoyer
2024-10-12 13:17 ` [bug#73770] [PATCH 2/2] gnu: Add freedisksysrom Maxim Cournoyer
2024-10-12 13:24 ` [bug#73770] [PATCH 0/2] " Liliana Marie Prikler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).