GNU bug report logs -
#73770
[PATCH 0/2] Add freedisksysrom
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73770 in the body.
You can then email your comments to 73770 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
:
bug#73770
; Package
guix-patches
.
(Sat, 12 Oct 2024 13:11:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
.
(Sat, 12 Oct 2024 13:11:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73770
; Package
guix-patches
.
(Sat, 12 Oct 2024 13:21:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 73770 <at> debbugs.gnu.org (full text, mbox):
* 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 <at> kadziolka.net>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber <at> dustycloud.org>
;;; Copyright © 2020 B. Wilson <elaexuotee <at> wilsonb.com>
-;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv <at> posteo.net>
;;; Copyright © 2022 Felix Gruber <felgru <at> posteo.net>
;;; Copyright © 2023 Simon South <simon <at> 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
Information forwarded
to
adam.faiz <at> disroot.org, liliana.prikler <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
:
bug#73770
; Package
guix-patches
.
(Sat, 12 Oct 2024 13:21:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 73770 <at> debbugs.gnu.org (full text, mbox):
* 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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73770
; Package
guix-patches
.
(Sat, 12 Oct 2024 13:26:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 73770 <at> debbugs.gnu.org (full text, mbox):
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
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73770
; Package
guix-patches
.
(Fri, 18 Oct 2024 08:21:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 73770 <at> debbugs.gnu.org (full text, mbox):
Hi Liliana,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> 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.
According to our naming convention (info '(guix) Package Naming'):
[...] correspond to the lowercase conversion of the project name
chosen upstream, with underscores replaced with hyphens. For
instance, GNUnet is available as ‘gnunet’, and SDL_net as ‘sdl-net’.
"freedisksysrom" is the correct name (camel case upstream names are
simply converted to lower case)
> 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.?
Currently when you run for example jg-nestopia via jollygood (from the
rgrf package), if you try loading a ROM that requires disksys.rom, it
will let you know where it expects to find it
('~/.local/share/jollygood/bios/disksys.rom'), and you must manually
copy/link such a file there. I plan on making the integration between
jg-nestopia and freedisksysrom seamless in a future (upstream)
contribution to jg-nestopia.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73770
; Package
guix-patches
.
(Fri, 18 Oct 2024 16:58:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 73770 <at> debbugs.gnu.org (full text, mbox):
Am Freitag, dem 18.10.2024 um 17:18 +0900 schrieb Maxim Cournoyer:
> Hi Liliana,
>
> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>
> > 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.
>
> According to our naming convention (info '(guix) Package Naming'):
>
> [...] correspond to the lowercase conversion of the project name
> chosen upstream, with underscores replaced with hyphens. For
> instance, GNUnet is available as ‘gnunet’, and SDL_net as ‘sdl-
> net’.
>
> "freedisksysrom" is the correct name (camel case upstream names are
> simply converted to lower case)
>
> > 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.?
>
> Currently when you run for example jg-nestopia via jollygood (from
> the rgrf package), if you try loading a ROM that requires
> disksys.rom, it will let you know where it expects to find it
> ('~/.local/share/jollygood/bios/disksys.rom'), and you must manually
> copy/link such a file there. I plan on making the integration
> between jg-nestopia and freedisksysrom seamless in a future
> (upstream) contribution to jg-nestopia.
SGTM then
Reply sent
to
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:
You have taken responsibility.
(Sat, 19 Oct 2024 13:01:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
:
bug acknowledged by developer.
(Sat, 19 Oct 2024 13:01:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 73770-done <at> debbugs.gnu.org (full text, mbox):
Hi,
Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
> Am Freitag, dem 18.10.2024 um 17:18 +0900 schrieb Maxim Cournoyer:
>> Hi Liliana,
>>
>> Liliana Marie Prikler <liliana.prikler <at> gmail.com> writes:
>>
>> > 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.
>>
>> According to our naming convention (info '(guix) Package Naming'):
>>
>> [...] correspond to the lowercase conversion of the project name
>> chosen upstream, with underscores replaced with hyphens. For
>> instance, GNUnet is available as ‘gnunet’, and SDL_net as ‘sdl-
>> net’.
>>
>> "freedisksysrom" is the correct name (camel case upstream names are
>> simply converted to lower case)
>>
>> > 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.?
>>
>> Currently when you run for example jg-nestopia via jollygood (from
>> the rgrf package), if you try loading a ROM that requires
>> disksys.rom, it will let you know where it expects to find it
>> ('~/.local/share/jollygood/bios/disksys.rom'), and you must manually
>> copy/link such a file there. I plan on making the integration
>> between jg-nestopia and freedisksysrom seamless in a future
>> (upstream) contribution to jg-nestopia.
> SGTM then
I've retested and sadly it seems my previous findings were incorrect; I
wasn't able to use freedisksysrom as sysdisk.rom with jg-nestopia to
play a vintage plumber's game.
I've detailed that it's still incomplete in its description and may not
be able to play all FDS games yet as a disclaimer, and otherwise pushed
with commit 7b6ab9ebe7 ("gnu: Add freedisksysrom.").
Closing; thanks for the review.
--
Thanks,
Maxim
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 17 Nov 2024 12:24:13 GMT)
Full text and
rfc822 format available.
This bug report was last modified 307 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.