More html files of 2004 fixed
Some bug statuses have been changed so the bugs file was also updated (some removed, some added). The manifest of 2004/hibachi was fixed some. The alt_url of 2004/gavare was fixed which required a rebuild of authors.html. For 2004/gavin a proper link to QEMU was added. It strikes me as it possibly being a good idea to have an FAQ about QEMU (as it is not just 2004/gavin that might benefit from it) but I don't know and in any case I have zero experience with it. The entries 2004/gavare, 2004/gavin and 2004/hibachi have been checked for format / display issues. This would suggest that the next entry to look at is 2004/hoyle.
This commit is contained in:
1 parent
13e6d26a6e
commit
453ed3d75b
13 files changed
+233
-192
No files matched your search
+17
-18
@@ -5,17 +5,18 @@
|
||||
```
|
||||
|
||||
|
||||
There is an alternate version for those who wish to use QEMU rather than having
|
||||
to reboot and rely on having a floppy drive (if you even remember what those are
|
||||
:-) ) etc. See [alternate code](#alternate-code) below.
|
||||
There is an alternate version for those who wish to use
|
||||
[QEMU](https://www.qemu.org) rather than having
|
||||
to reboot and rely on having a [floppy
|
||||
drive](https://en.wikipedia.org/wiki/Floppy_disk) ([if you even
|
||||
remember](https://en.wikipedia.org/wiki/History_of_the_floppy_disk) what those are
|
||||
:-) ) etc. See [Alternate code](#alternate-code) below.
|
||||
|
||||
|
||||
### Bugs and (Mis)features:
|
||||
|
||||
The current status of this entry is:
|
||||
|
||||
> **STATUS: compiled executable crashes - please help us fix**<br>
|
||||
> **STATUS: doesn't work with some platforms - please help us fix it**<br>
|
||||
> **STATUS: INABIAF - please DO NOT fix**
|
||||
|
||||
For more detailed information see [2004/gavin in bugs.html](../../bugs.html#2004_gavin).
|
||||
@@ -30,8 +31,8 @@ For more detailed information see [2004/gavin in bugs.html](../../bugs.html#2004
|
||||
|
||||
## Try:
|
||||
|
||||
To enjoy the results (on a Linux/x86 machine) with a floppy drive (remember
|
||||
those? We do!):
|
||||
To enjoy the results (on a Linux/x86 machine) with a floppy drive
|
||||
([remember](https://en.wikipedia.org/wiki/Old_age) those? We do!):
|
||||
|
||||
|
||||
``` <!---sh-->
|
||||
@@ -45,9 +46,9 @@ whatever the floppy device is!), mount it under `/mnt/floppy` and then:
|
||||
cp kernel fs.tar lilo.conf boot.b /mnt/floppy
|
||||
```
|
||||
|
||||
NOTE: If the version of your lilo is not 21.4, use the appropriate boot.b file.
|
||||
**NOTE**: If the version of your lilo is not 21.4, use the appropriate `boot.b` file.
|
||||
|
||||
NOTE: If your floppy drive is not `/dev/fd0`, edit lilo.conf appropriately.
|
||||
**NOTE**: If your floppy drive is not `/dev/fd0`, edit `lilo.conf` appropriately.
|
||||
|
||||
``` <!---sh-->
|
||||
lilo -C /mnt/floppy/lilo.conf
|
||||
@@ -92,7 +93,7 @@ you can use it with `QEMU`.
|
||||
### Alternate use:
|
||||
|
||||
The use is mostly the same as `gavin` except that one initially executes `gavin.alt`
|
||||
(which `make alt` will do) and one will have to use `QEMU` instead. The files
|
||||
and one will have to use `QEMU` instead. The files
|
||||
generated are the same names. See [to use](#to-use) and [try](#try) above as
|
||||
well as the judges' remarks below plus [gavin.html](gavin.html).
|
||||
|
||||
@@ -113,9 +114,9 @@ If you do not want to mess with a floppy and you use GRUB, see
|
||||
You can put additional text files in `fs.tar` for browsing with vi.
|
||||
|
||||
If you do not want to bother rebooting your computer at all, see
|
||||
<http://bellard.org> for QEMU ([Fabrice Bellard](../../authors.html#Fabrice_Bellard)
|
||||
is an IOCCC 2001 winning entry), but your experience will be limited; use the
|
||||
[alternate code](#alternate-code) instead. You'll have to move the mouse to
|
||||
<https://www.qemu.org> for QEMU (by [Fabrice
|
||||
Bellard](../../authors.html#Fabrice_Bellard), an IOCCC winning author) and use
|
||||
the [Alternate code](#alternate-code) instead. You'll have to move the mouse to
|
||||
trigger the initial screen update.
|
||||
|
||||
The judges were able to write a few more programs to run in this OS.
|
||||
@@ -154,7 +155,7 @@ For further usage information see [gavin.html](gavin.html).
|
||||
|
||||
The filenames `vi` and `sh` are significant, and should not be changed.
|
||||
|
||||
### Known 'features'
|
||||
### Known 'features':
|
||||
|
||||
Known issues are really too plentiful to list.
|
||||
|
||||
@@ -188,16 +189,14 @@ keyboard maps, etc. (I should also mention that it contains mini functions to
|
||||
perform an x86 `in` and `out` instruction - to allow the keyboard & mouse to be
|
||||
driven from C code).
|
||||
|
||||
Porting to another architecture should be relatively easy\* -
|
||||
Porting to another architecture should be relatively easy[^1] -
|
||||
the string simply needs be replaced with one containing
|
||||
data & code suitable for the new target platform.
|
||||
Accesses to data in the string are made relative to the define `V`,
|
||||
so these may need updating as appropriate (`0x90200` is the address
|
||||
at which a Linux bootloader loads an x86 kernel image).
|
||||
|
||||
```
|
||||
\* ;-)
|
||||
```
|
||||
[^1]: \* ;-)
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
+13
-17
@@ -403,28 +403,24 @@ should do no damage to your existing setup, BUT I ACCEPT NO LIABILITY FOR ANY
|
||||
DAMAGE DONE BY THIS PROGRAM. Run it at your own risk. The OS has been tested
|
||||
on half a dozen machines or so, and worked on all but one. The failure came in
|
||||
the form of the machine rebooting itself midway through loading the OS, with no
|
||||
nasty side-effects.</p></li>
|
||||
</ol>
|
||||
<pre><code> Hardware requirements - i386 or better processor, but the GUI is
|
||||
surprisingly power-hungry, so I would recommend a fast P3 or P4 processor
|
||||
(has been tested on P3/P4/Athlon machines). Minimum RAM is something like
|
||||
32MB. PS/2 mouse & keyboard required - no USB I'm afraid, and the keyboard
|
||||
map is for a UK keyboard. Uses VESA VBE 3.0, so should work on any modern
|
||||
graphics card (has been tested on NVIDIA, Matrox, and SiS cards).</code></pre>
|
||||
<ol start="3" type="1">
|
||||
<li>Now you need to setup a bootloader to load the OS. If you have a system
|
||||
nasty side-effects.</p>
|
||||
<p>Hardware requirements - i386 or better processor, but the GUI is
|
||||
surprisingly power-hungry, so I would recommend a fast P3 or P4 processor
|
||||
(has been tested on P3/P4/Athlon machines). Minimum RAM is something like
|
||||
32MB. PS/2 mouse & keyboard required - no USB I’m afraid, and the keyboard
|
||||
map is for a UK keyboard. Uses VESA VBE 3.0, so should work on any modern
|
||||
graphics card (has been tested on NVIDIA, Matrox, and SiS cards).</p></li>
|
||||
<li><p>Now you need to setup a bootloader to load the OS. If you have a system
|
||||
using a lilo bootloader you can simply add the OS to your boot menu. Just add
|
||||
appropriate <code>image=</code> and <code>initrd=</code> lines to your <code>/etc/lilo.conf</code>, pointing at
|
||||
<code>kernel</code> and <code>fs.tar</code> respectively (as built by make earlier), then run <code>lilo</code>.
|
||||
If you do not wish modify your lilo setup, one easy option is to get yourself a
|
||||
GRUB boot disk image, and follow the instructions for GRUB below - Debian users
|
||||
can simply run<code>apt-get install grub-disk</code> to get themselves a GRUB boot disk.</li>
|
||||
</ol>
|
||||
<pre><code> If you run GRUB, then at the boot menu simply hit `c` to get a console, then
|
||||
type `kernel=(hd0,0)/<PATH>/kernel` (substituting appropriate hard
|
||||
drive/partition numbers & path, or using `(fd0)` to load a kernel on the
|
||||
floppy), then `initrd=(hd0,0)/<PATH>/fs.tar`, and finally `boot`.</code></pre>
|
||||
<ol start="4" type="1">
|
||||
can simply run<code>apt-get install grub-disk</code> to get themselves a GRUB boot disk.</p>
|
||||
<p>If you run GRUB, then at the boot menu simply hit <code>c</code> to get a console, then
|
||||
type <code>kernel=(hd0,0)/<PATH>/kernel</code> (substituting appropriate hard
|
||||
drive/partition numbers & path, or using <code>(fd0)</code> to load a kernel on the
|
||||
floppy), then <code>initrd=(hd0,0)/<PATH>/fs.tar</code>, and finally <code>boot</code>.</p></li>
|
||||
<li><p>Assuming the OS has booted, what can you do now? Well, start by trying <code>sh</code>,
|
||||
to open another shell. Then, try <code>vi gavin.c</code> to open up the OS source in a
|
||||
text file viewer (up/down or PgUp/PgDn to scroll). Note that the provided
|
||||
|
||||
@@ -15,14 +15,12 @@ on half a dozen machines or so, and worked on all but one. The failure came in
|
||||
the form of the machine rebooting itself midway through loading the OS, with no
|
||||
nasty side-effects.
|
||||
|
||||
```
|
||||
Hardware requirements - i386 or better processor, but the GUI is
|
||||
surprisingly power-hungry, so I would recommend a fast P3 or P4 processor
|
||||
(has been tested on P3/P4/Athlon machines). Minimum RAM is something like
|
||||
32MB. PS/2 mouse & keyboard required - no USB I'm afraid, and the keyboard
|
||||
map is for a UK keyboard. Uses VESA VBE 3.0, so should work on any modern
|
||||
graphics card (has been tested on NVIDIA, Matrox, and SiS cards).
|
||||
```
|
||||
|
||||
3. Now you need to setup a bootloader to load the OS. If you have a system
|
||||
using a lilo bootloader you can simply add the OS to your boot menu. Just add
|
||||
@@ -32,12 +30,10 @@ If you do not wish modify your lilo setup, one easy option is to get yourself a
|
||||
GRUB boot disk image, and follow the instructions for GRUB below - Debian users
|
||||
can simply run`apt-get install grub-disk` to get themselves a GRUB boot disk.
|
||||
|
||||
```
|
||||
If you run GRUB, then at the boot menu simply hit `c` to get a console, then
|
||||
type `kernel=(hd0,0)/<PATH>/kernel` (substituting appropriate hard
|
||||
drive/partition numbers & path, or using `(fd0)` to load a kernel on the
|
||||
floppy), then `initrd=(hd0,0)/<PATH>/fs.tar`, and finally `boot`.
|
||||
```
|
||||
|
||||
4. Assuming the OS has booted, what can you do now? Well, start by trying `sh`,
|
||||
to open another shell. Then, try `vi gavin.c` to open up the OS source in a
|
||||
|
||||
+24
-17
@@ -409,28 +409,29 @@ Location: <a href="../../location.html#UK">UK</a> - <em>United Kingdom of Great
|
||||
<!-- BEFORE: 1st line of markdown file: 2004/gavin/README.md -->
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<pre><code> make</code></pre>
|
||||
<p>There is an alternate version for those who wish to use QEMU rather than having
|
||||
to reboot and rely on having a floppy drive (if you even remember what those are
|
||||
:-) ) etc. See <a href="#alternate-code">alternate code</a> below.</p>
|
||||
<p>There is an alternate version for those who wish to use
|
||||
<a href="https://www.qemu.org">QEMU</a> rather than having
|
||||
to reboot and rely on having a <a href="https://en.wikipedia.org/wiki/Floppy_disk">floppy
|
||||
drive</a> (<a href="https://en.wikipedia.org/wiki/History_of_the_floppy_disk">if you even
|
||||
remember</a> what those are
|
||||
:-) ) etc. See <a href="#alternate-code">Alternate code</a> below.</p>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
<blockquote>
|
||||
<p><strong>STATUS: compiled executable crashes - please help us fix</strong><br>
|
||||
<strong>STATUS: doesn’t work with some platforms - please help us fix it</strong><br>
|
||||
<strong>STATUS: INABIAF - please DO NOT fix</strong></p>
|
||||
<p><strong>STATUS: INABIAF - please DO NOT fix</strong></p>
|
||||
</blockquote>
|
||||
<p>For more detailed information see <a href="../../bugs.html#2004_gavin">2004/gavin in bugs.html</a>.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<pre><code> ./gavin</code></pre>
|
||||
<h2 id="try">Try:</h2>
|
||||
<p>To enjoy the results (on a Linux/x86 machine) with a floppy drive (remember
|
||||
those? We do!):</p>
|
||||
<p>To enjoy the results (on a Linux/x86 machine) with a floppy drive
|
||||
(<a href="https://en.wikipedia.org/wiki/Old_age">remember</a> those? We do!):</p>
|
||||
<pre><code> su</code></pre>
|
||||
<p>Make a floppy with an ext2 filesystem (<code>mke2fs /dev/fd0</code> replacing <code>fd0</code> with
|
||||
whatever the floppy device is!), mount it under <code>/mnt/floppy</code> and then:</p>
|
||||
<pre><code> cp kernel fs.tar lilo.conf boot.b /mnt/floppy</code></pre>
|
||||
<p>NOTE: If the version of your lilo is not 21.4, use the appropriate boot.b file.</p>
|
||||
<p>NOTE: If your floppy drive is not <code>/dev/fd0</code>, edit lilo.conf appropriately.</p>
|
||||
<p><strong>NOTE</strong>: If the version of your lilo is not 21.4, use the appropriate <code>boot.b</code> file.</p>
|
||||
<p><strong>NOTE</strong>: If your floppy drive is not <code>/dev/fd0</code>, edit <code>lilo.conf</code> appropriately.</p>
|
||||
<pre><code> lilo -C /mnt/floppy/lilo.conf</code></pre>
|
||||
<p>Boot from the floppy on an x86 machine with a PS/2 keyboard and mouse.
|
||||
Move the window away from the corner.</p>
|
||||
@@ -448,7 +449,7 @@ you can use it with <code>QEMU</code>.</p>
|
||||
<pre><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>The use is mostly the same as <code>gavin</code> except that one initially executes <code>gavin.alt</code>
|
||||
(which <code>make alt</code> will do) and one will have to use <code>QEMU</code> instead. The files
|
||||
and one will have to use <code>QEMU</code> instead. The files
|
||||
generated are the same names. See <a href="#to-use">to use</a> and <a href="#try">try</a> above as
|
||||
well as the judges’ remarks below plus <a href="gavin.html">gavin.html</a>.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
@@ -463,9 +464,9 @@ future contests.</p>
|
||||
<a href="gavin.html">gavin.html</a>.</p>
|
||||
<p>You can put additional text files in <code>fs.tar</code> for browsing with vi.</p>
|
||||
<p>If you do not want to bother rebooting your computer at all, see
|
||||
<a href="http://bellard.org" class="uri">http://bellard.org</a> for QEMU (<a href="../../authors.html#Fabrice_Bellard">Fabrice Bellard</a>
|
||||
is an IOCCC 2001 winning entry), but your experience will be limited; use the
|
||||
<a href="#alternate-code">alternate code</a> instead. You’ll have to move the mouse to
|
||||
<a href="https://www.qemu.org" class="uri">https://www.qemu.org</a> for QEMU (by <a href="../../authors.html#Fabrice_Bellard">Fabrice
|
||||
Bellard</a>, an IOCCC winning author) and use
|
||||
the <a href="#alternate-code">Alternate code</a> instead. You’ll have to move the mouse to
|
||||
trigger the initial screen update.</p>
|
||||
<p>The judges were able to write a few more programs to run in this OS.
|
||||
What are the limitations for such programs?</p>
|
||||
@@ -493,7 +494,7 @@ then building a tarball containing the resulting programs
|
||||
(the filesystem format supported by the OS is the tarball format).</p>
|
||||
<p>For further usage information see <a href="gavin.html">gavin.html</a>.</p>
|
||||
<p>The filenames <code>vi</code> and <code>sh</code> are significant, and should not be changed.</p>
|
||||
<h3 id="known-features">Known ‘features’</h3>
|
||||
<h3 id="known-features">Known ‘features’:</h3>
|
||||
<p>Known issues are really too plentiful to list.</p>
|
||||
<p>If the mouse pointer goes off the left hand side of the screen
|
||||
it will reappear on the right, and vice-versa.
|
||||
@@ -519,13 +520,12 @@ Linux-esque kernel header for the bootloader, protected mode descriptor tables,
|
||||
keyboard maps, etc. (I should also mention that it contains mini functions to
|
||||
perform an x86 <code>in</code> and <code>out</code> instruction - to allow the keyboard & mouse to be
|
||||
driven from C code).</p>
|
||||
<p>Porting to another architecture should be relatively easy* -
|
||||
<p>Porting to another architecture should be relatively easy<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> -
|
||||
the string simply needs be replaced with one containing
|
||||
data & code suitable for the new target platform.
|
||||
Accesses to data in the string are made relative to the define <code>V</code>,
|
||||
so these may need updating as appropriate (<code>0x90200</code> is the address
|
||||
at which a Linux bootloader loads an x86 kernel image).</p>
|
||||
<pre><code> \* ;-)</code></pre>
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
@@ -540,6 +540,13 @@ at which a Linux bootloader loads an x86 kernel image).</p>
|
||||
|
||||
-->
|
||||
<!-- AFTER: last line of markdown file: 2004/gavin/README.md -->
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
|
||||
<h5>Footnotes</h5>
|
||||
<ol>
|
||||
<li id="fn1"><p>* ;-)<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
|
||||
|
||||
Reference in new issue
Block a user