Skip to content

Commit

Permalink
docbook - com-emu/*: Added.
Browse files Browse the repository at this point in the history
  • Loading branch information
Zeckmathederg committed Dec 29, 2024
1 parent eb91744 commit 1f2e3b6
Show file tree
Hide file tree
Showing 14 changed files with 1,005 additions and 6 deletions.
7 changes: 3 additions & 4 deletions book/organization.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,11 @@
project.
</para>

<bridgehead renderas="sect2">Chapter 6 - Emulators</bridgehead>
<bridgehead renderas="sect2">Chapter 6 - Computer Emulators</bridgehead>

<para>
This chapter covers packages which allow you to emulate older systems. These
systems can range from PDP and AT&amp;T Unix systems to video game consoles
like the Nintendo 64 and DS.
This chapter covers packages which allow you to emulate older computer
hardware.
</para>

<bridgehead renderas="sect2">Appendices</bridgehead>
Expand Down
2 changes: 0 additions & 2 deletions com-emu/com-emu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,12 @@
interoperability with old operating systems running on said hardware.
</para>

<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="idle.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xhomer.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="freebee.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="s4-3b1-pc7300.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lrzsz.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="minicom.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gkermit.xml"/>
-->

</chapter>
177 changes: 177 additions & 0 deletions com-emu/freebee.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;

<!ENTITY freebee-download-http "https://github.com/philpem/freebee/archive/&freebee-version;.zip">
]>

<sect1 id="freebee" xreflabel="FreeBee-&freebee-minor-version;">
<?dbhtml filename="freebee.html"?>


<title>FreeBee-&freebee-minor-version;</title>

<indexterm zone="freebee">
<primary sortas="a-freebee">FreeBee</primary>
</indexterm>

<sect2 role="package">
<title>Introduction to FreeBee</title>

<para>
The <application>FreeBee</application> package is minimalistic Lisa 1/2
emulator.
</para>

<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&freebee-download-http;"/>
</para>
</listitem>
</itemizedlist>

<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required submodule:
<ulink url="https://github.com/kstenerud/Musashi/archive/&musashi-submodule-version;.zip"/>
</para>
</listitem>
<listitem>
<para>
Required ROMs:
<ulink url="http://bitsavers.org/pdf/att/3b1/firmware/3b1_roms.zip"/>
</para>
</listitem>
<listitem>
<para>
Recommended patch:
<ulink url="&patch-root;/com-emu/freebee/freebee-&freebee-minor-version;-system-roms.patch"/>
</para>
</listitem>
</itemizedlist>

<bridgehead renderas="sect3">FreeBee Dependencies</bridgehead>

<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<ulink url="&blfs-svn;/general/unzip.html">UnZip</ulink>
(to unpack the distributions) and
<ulink url="&blfs-svn;/general/sdl2.html">SDL2</ulink>
</para>

</sect2>

<sect2 role="installation">
<title>Installation of FreeBee</title>

<para>
Unpack the <application>musashi</application> submodule into the right place:
</para>

<screen><userinput>unzip ../&musashi-submodule-version;.zip -d src/ &amp;&amp;
rmdir src/musashi &amp;&amp;
mv src/Musashi-&musashi-submodule-version; src/musashi</userinput></screen>

<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../xincludes/extraction-lchmod.xml"/>

<para>
Optionally, apply a patch to search for the ROMs in a system-wide
location and not the current directory:
</para>

<screen><userinput>patch -Np1 -i ../freebee-&freebee-minor-version;-system-roms.patch</userinput></screen>

<para>
Install <application>FreeBee</application> by running the following
command:
</para>

<screen><userinput>make src/musashi/m68kops.h &amp;&amp;
make &amp;&amp;
make -C tools</userinput></screen>

<para>
Now, as the &root; user:
</para>

<screen role="root"><userinput>install -v -Dm755 freebee /usr/bin/freebee &amp;&amp;
install -v -Dm755 tools/makehdimg /usr/bin/makehdimg &amp;&amp;
install -v -m644 freebee.1 /usr/share/man/man1 &amp;&amp;
install -v -m644 tools/makehdimg.1 /usr/share/man/man1</userinput></screen>

<para>
Optionally, install the documentation as the &root; user:
</para>

<screen role="root" remap="doc"><userinput>install -v -m755 -d /usr/share/doc/freebee-&freebee-minor-version; &amp;&amp;
install -v -m644 README.md /usr/share/doc/freebee-&freebee-minor-version; &amp;&amp;
install -v -m644 README.serial.md /usr/share/doc/freebee-&freebee-minor-version; &amp;&amp;
install -v -m644 sample.freebee.toml /usr/share/doc/freebee-&freebee-minor-version; &amp;&amp;
install -v -m644 doc/3B1\ Memory\ Map.ods /usr/share/doc/freebee-&freebee-minor-version;</userinput></screen>

<para>
If you have applied the systemwide ROMs patch, install those ROMs as the
&root; user:
</para>

<screen role="root"><userinput>install -v -m755 -d /usr/share/freebee/roms &amp;&amp;
unzip ../3b1_roms.zip -d /usr/share/freebee/roms &amp;&amp;
rm -vf /usr/share/freebee/roms/*.hex &amp;&amp;
rm -vf /usr/share/freebee/roms/README &amp;&amp;
mv -v /usr/share/freebee/roms/14C\ 72-00616.bin /usr/share/freebee/roms/14c.bin &amp;&amp;
mv -v /usr/share/freebee/roms/15C\ 72-00617.bin /usr/share/freebee/roms/15c.bin</userinput></screen>

</sect2>

<sect2 role="commands">
<title>Command Explanations</title>

<para>
<command>make src/musashi/m68kops.h</command>: This command explicitly
generates a header file used during build time to avoid a race condition.
</para>

</sect2>

<sect2 role="configuration">
<title>Configuring FreeBee</title>

<sect3 id="freebee-config">
<title>Config Files</title>
<para>
<filename>~/.freebee.toml</filename>
</para>

<indexterm zone="freebee freebee-config">
<primary sortas="e-AA.freebee.toml">~/.freebee.toml</primary>
</indexterm>

</sect3>

<sect3><title>Configuration Information</title>

<para>
If you have not applied the systemwide ROMs patch, you will have to put
the <filename class="directory">roms/</filename> folder as documented
in the <filename>README</filename> file from
<filename>3b1_roms.zip</filename> into every folder you run
<application>FreeBee</application> from, although it is possible to
explicitly set the ROM path in the <application>FreeBee</application>
config file if you do not want to do that.
</para>

<note><para>Refer to the <application>FreeBee</application> documentation
to learn how to configure the config file.</para></note>

</sect3>

</sect2>

</sect1>
107 changes: 107 additions & 0 deletions com-emu/gkermit.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;

<!ENTITY gkermit-download-http "https://www.kermitproject.org/ftp/kermit/archives/&gkermit-tarball-version;.tar.gz">
]>

<!-- Seems like g-kermit is the spelling... For all lowercase, let's just do
gkermit for now, while the nice name is G-Kermit, so we don't have to
change much. -->
<sect1 id="gkermit" xreflabel="G-Kermit-&gkermit-version;">
<?dbhtml filename="gkermit.html"?>


<title>G-Kermit-&gkermit-version;</title>

<indexterm zone="gkermit">
<primary sortas="a-gkermit">G-Kermit</primary>
</indexterm>

<sect2 role="package">
<title>Introduction to G-Kermit</title>

<para>
The <application>G-Kermit</application> package provides a Unix program
for transferring files with the Kermit protocol. It is provided here for
transferring files over the Kermit protocol to UNIX 3.51 running on
<xref linkend="freebee"/>.
</para>

<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&gkermit-download-http;"/>
</para>
</listitem>
</itemizedlist>

<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch:
<ulink url="&patch-root;/com-emu/gkermit/gkermit-&gkermit-version;-fix-implicit-declaration.patch"/>
</para>
</listitem>
</itemizedlist>

</sect2>

<sect2 role="installation">
<title>Installation of G-Kermit</title>

<para>
The source distribution unpacks to the current directory. In order to
avoid cluttering up the folder where the tarball was originally
downloaded to, unpack it in the following way:
</para>

<screen><userinput>mkdir -v gkermit &amp;&amp;
cd gkermit &amp;&amp;
tar -xvf ../&gkermit-tarball-version;.tar.gz</userinput></screen>

<note><para>All the proceeding instructions on this page should be followed
in this <filename class="directory">gkermit/</filename> directory. Once you
are done installing this package, you may navigate out of this
directory.</para></note>

<para>
Next, apply a patch to fix some implicit declarations leading to a build
failure:
</para>

<screen><userinput>patch -Np1 -i ../gkermit-&gkermit-version;-fix-implicit-declaration.patch</userinput></screen>

<para>
Install <application>gkermit</application> by executing the following
commands:
</para>

<screen><userinput>rm -vf gproto.c &amp;&amp;
make</userinput></screen>

<para>
Now as the &root; user:
</para>

<screen role="root"><userinput>make BINDIR=/usr/bin MANDIR=/usr/share/man/man1 \
TEXTDIR=/usr/share/doc/gkermit-&gkermit-version; install &amp;&amp;
mv -v /usr/share/man/man1/gkermit.l /usr/share/man/man1/gkermit.1</userinput></screen>

</sect2>

<sect2 role="commands">
<title>Command Explanations</title>

<para>
<command>rm -vf gproto.c</command>: This command deletes a stray
autogenerated file to ensure a working build.
</para>

</sect2>

</sect1>
Loading

0 comments on commit 1f2e3b6

Please sign in to comment.