Compare commits
No commits in common. "f114c742b02f962c686fbddb88f777c6a354b75e" and "55b037a8a96a8d57d9057bd8ced8c4136714ce66" have entirely different histories.
f114c742b0
...
55b037a8a9
|
|
@ -4,7 +4,7 @@ These are the files for a ... book? story? I'm writing.
|
||||||
Not really sure what to call it. It's a website.
|
Not really sure what to call it. It's a website.
|
||||||
|
|
||||||
You can read it here: https://book.lostcave.ddnss.de/
|
You can read it here: https://book.lostcave.ddnss.de/
|
||||||
If that doesn't work for you, there is a mirror on GitHub: https://bodgemaster.github.io/new_dawn_mirror/
|
If that doesn't work for you, there will be a mirror on GitHub (tbd).
|
||||||
|
|
||||||
If you want to read it offline, you can `git clone` this (or just download
|
If you want to read it offline, you can `git clone` this (or just download
|
||||||
the files).
|
the files).
|
||||||
|
|
|
||||||
166
ea-RTFM.html
166
ea-RTFM.html
|
|
@ -4,12 +4,11 @@
|
||||||
<!-- perspective: Annie -->
|
<!-- perspective: Annie -->
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Annie arrives at a house with multiple ground-level entrances.
|
Annie rings the doorbell and waits. Nobody answers. She checks that
|
||||||
She rings one of the doorbells and waits. Nobody answers. She checks
|
she's at the right door – yes, this is grandpa Karl's
|
||||||
that it is the right door – yes, this is grandpa Karl's
|
|
||||||
apartment. She rings again. A window on <span class="comment">in?</span>
|
apartment. She rings again. A window on <span class="comment">in?</span>
|
||||||
one of the adjacent houses opens and she hears Isabelle quietly calling
|
one of the adjacent houses opens and she hears Isabelle quietly
|
||||||
her:<br />
|
calling her.<br />
|
||||||
<span class="quote speech">Annie, we're over here.</span><br />
|
<span class="quote speech">Annie, we're over here.</span><br />
|
||||||
She walks over.<br />
|
She walks over.<br />
|
||||||
<span class="quote speech">Which door?</span><br />
|
<span class="quote speech">Which door?</span><br />
|
||||||
|
|
@ -22,149 +21,30 @@
|
||||||
This place has been <span class="comment">vacant</span> forever, might
|
This place has been <span class="comment">vacant</span> forever, might
|
||||||
as well use it.</span><br />
|
as well use it.</span><br />
|
||||||
Annie slides her shoes off and leans her bag against the wall. Then,
|
Annie slides her shoes off and leans her bag against the wall. Then,
|
||||||
they go into the living room where cables and computer parts are all over
|
they go to the living room where cables and computer parts are all over
|
||||||
the floor. Lucas sits in front of the rack between two opened boxes.
|
the floor. Lucas sits in front of the rack between two opened boxes.
|
||||||
The rack's side panels had been removed, revealing the devices
|
The rack's side panels had been removed, revealing the rails holding
|
||||||
mounted inside and the cables connecting them. Lucas is pushing a circuit
|
the various devices inside and their power cables. Lucas is pushing
|
||||||
board into a half-assembled metal box that hangs out the front. Karl goes
|
a circuit board into a half-assembled device that hangs out the front.
|
||||||
over to a stool next to the rack, carefully avoiding stepping on things,
|
Karl goes over to a stool next to the rack, carefully avoiding stepping
|
||||||
and sits down.
|
on things, and sits down.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Annie sits down next to Lucas and watches as he carefully
|
Annie sits down next to Lucas and watches as he carefully inserts one
|
||||||
<span class="comment">synonym for careful?</span> inserts another
|
board after the other. Karl is looking at the manual and tells him
|
||||||
board. Karl is reading from a binder of documentation and tells him to
|
to set some tiny switches on the front of some of them.<br />
|
||||||
set some tiny switches on its front edge.<br />
|
Karl says: <span class="quote speech">Annie, can you hand me these four
|
||||||
While grabbing the next board, Lucas says:
|
gray ribbon cables?</span><br />
|
||||||
<span class="quote speech">Annie, can you take these and prepare the DIP
|
She looks around, lots of different cables everywhere.<br />
|
||||||
switches?</span><br />
|
<span class="quote speech">The wide, flat ones to your left.</span><br />
|
||||||
He pushes the box over to her. It contains four circuit boards, all
|
He takes them and plugs them somewhere into the back of the rack.
|
||||||
identical.<br />
|
|
||||||
<span class="quote speech">Uhm, okay.</span>
|
|
||||||
She takes one of the boards out and looks at it. It's full of
|
|
||||||
electronic components on both sides and one of the edges holds a tiny red
|
|
||||||
box with an even tinier row of switches on it.<br />
|
|
||||||
<span class="comment">Above is a bad description. Need naive description
|
|
||||||
of DIP switches from someone who doesn't know.</span><br />
|
|
||||||
<span class="quote speech">So what do I set them to?</span><br />
|
|
||||||
Karl tells her a combination and she tries to push the switches up or
|
|
||||||
down as needed with her finger nails.<br />
|
|
||||||
Lucas says <span class="quote speech">Here, use this.</span> and hands
|
|
||||||
her a pen.<br />
|
|
||||||
Using it to flip the switches, she sets the combination Karl says, then
|
|
||||||
hands the board over to Lucas and grabs the next one.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Karl takes the racks's power cable and plugs it in. Isabelle gets
|
Isabelle grabs the terminal from a corner of the room and lifts it onto
|
||||||
the terminal from a corner of the room and lifts it onto the rack.
|
the rack. Meanwhile, Annie and Lucas start collecting the cables and
|
||||||
Meanwhile, Annie and Lucas start collecting the cables and loose parts
|
loose parts from the floor. Karl plugs rack and terminal into power and
|
||||||
from the floor. Isabelle plugs the terminal into power and Karl connects
|
connects a cable between the terminal and one of the devices in the front
|
||||||
a cable between it and one of the devices in the front of the rack.
|
of the rack.
|
||||||
They all gather around and Karl powers it on. He follows the same
|
|
||||||
procedure that Annie and Isabelle performed in the library: Key switch
|
|
||||||
at the top of the rack to <span class="quote non-speech">RST</span>,
|
|
||||||
power up the hard drive, hold <span class="quote non-speech">LOAD</span>
|
|
||||||
and key switch to <span class="quote non-speech">RUN</span>. Then, he
|
|
||||||
pulls a floppy disk out of the documentation binder and inserts it into
|
|
||||||
the computer. He enters some commands, the drive clicks a few times, and
|
|
||||||
the terminal displays a menu.
|
|
||||||
</p>
|
</p>
|
||||||
<!--
|
|
||||||
Hardware in this machine:
|
|
||||||
- 1x HDD (platters: 1 removable, 3 fixed)
|
|
||||||
- 2x FDD
|
|
||||||
- 2x backplane (8 slots each)
|
|
||||||
- CPU (1 board)
|
|
||||||
- FPU (1 board) (removed, replaced with NC 2000)
|
|
||||||
- Number Cruncher 2000 (4 boards)
|
|
||||||
- HDDC (1 board)
|
|
||||||
- FDDC (1 board)
|
|
||||||
- MTDC (1 board)
|
|
||||||
- memory (8 boards)
|
|
||||||
- 1x PDU
|
|
||||||
- 1x MTD
|
|
||||||
|
|
||||||
16M = 16777216 => 0x00000000 to 0x00FFFFFF
|
|
||||||
64M = 67108864 => 0x00000000 to 0x03FFFFFF
|
|
||||||
128M = 134217728 => 0x00000000 to 0x07FFFFFF
|
|
||||||
|
|
||||||
-> 32-bit address bus
|
|
||||||
|
|
||||||
1 PC SIMM = ~1MiB
|
|
||||||
16 SIMMS = 1 memory board => 8 boards installed, 128M
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//TODO: realistic EPROM sizes?
|
|
||||||
ROMs:
|
|
||||||
32k platform code (bootrom)
|
|
||||||
8k FDDC
|
|
||||||
8k HDDC
|
|
||||||
8k MTDC
|
|
||||||
|
|
||||||
Registers:
|
|
||||||
- CPU: 32x 8 bit? - are these mapped into RAM?
|
|
||||||
- A (32-bit) / Split registers 2x16-bit, 4x8-bit
|
|
||||||
- B (32-bit) / Split registers 2x16-bit, 4x8-bit
|
|
||||||
- C (32-bit) / Split registers 2x16-bit, 4x8-bit
|
|
||||||
- D (32-bit) / Split registers 2x16-bit, 4x8-bit
|
|
||||||
- Address pointer (32-bit)
|
|
||||||
- Flags (32-bit)
|
|
||||||
- Interrupt Return Pointer (32-bit)
|
|
||||||
- software interrupt capabilities?
|
|
||||||
- context switching capabilities?
|
|
||||||
- timers?
|
|
||||||
- ?
|
|
||||||
- Number Cruncher 2000:
|
|
||||||
- Instruction Register (32-bit)
|
|
||||||
- Flags (32-bit)
|
|
||||||
- 32x 32-bit / 16x 64-bit general-purpose register
|
|
||||||
- DMA load pointer (32-bit)
|
|
||||||
|
|
||||||
-->
|
|
||||||
<pre class="terminal">
|
|
||||||
[ SYSTEM DIAGNOSTICS v3.15 ]
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
1. Quick Test
|
|
||||||
2. Run All Tests
|
|
||||||
3. CPU Test
|
|
||||||
4. Memory Test
|
|
||||||
5. FPU Test
|
|
||||||
6. DMA Test
|
|
||||||
7. Serial Test
|
|
||||||
8. FDD Test
|
|
||||||
9. HDD Test
|
|
||||||
10. MTD Test
|
|
||||||
11. Load Module...
|
|
||||||
|
|
||||||
Choice: █
|
|
||||||
</pre>
|
|
||||||
<p>
|
|
||||||
Lucas asks:
|
|
||||||
<span class="quote speech">Odds of this working first try?</span><br />
|
|
||||||
Karl says: <span class="quote speech">We will see...</span><br />
|
|
||||||
He types a number and presses enter.
|
|
||||||
</p>
|
|
||||||
<pre class="terminal">
|
|
||||||
Choice: 2
|
|
||||||
|
|
||||||
Initializing...
|
|
||||||
Loading CPU Test...
|
|
||||||
Registers: Pass Branching: Pass
|
|
||||||
ALU: Pass Long Words: Pass
|
|
||||||
All Instrct:Pass Stress Test:Pass
|
|
||||||
Result: PASSED
|
|
||||||
Loading Memory Test...
|
|
||||||
Memory map:
|
|
||||||
00000000-
|
|
||||||
Result: FAIL
|
|
||||||
Loading FPU Test...
|
|
||||||
NC2K OpROM init
|
|
||||||
FP Arithmetic Test
|
|
||||||
SIMD Test
|
|
||||||
<!-- TODO: what kinda tests does this thing do? -->
|
|
||||||
Result: FAIL <!-- because memory error -->
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
<p class="copyright">Copyright © 2023-2025 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {if (lines[j].length >= 80) result = result + spans[j%2] + lines[j] + "</span>\n"; else result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
<p class="copyright">Copyright © 2023-2025 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {if (lines[j].length >= 80) result = result + spans[j%2] + lines[j] + "</span>\n"; else result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Jack puts the soldering iron back into its holder and admires his
|
Jack puts the soldering iron back into its holder and admires his
|
||||||
creation. This hack job of bodge wires and not quite right replacement
|
creation. This hack job of bodge wires and not quite the right
|
||||||
components, held together by what remains of the corroded motor driver
|
replacement components, held together by what remains of the corroded
|
||||||
board is truly beautiful in the ugliest way possible – in his eyes
|
motor driver board is truly beautiful in the ugliest way possible –
|
||||||
at least. He picks it up and ispects the other side.<br />
|
in his eyes at least. He picks it up and ispects the other side.
|
||||||
<span class="quote non-speech">Probably good enough.</span><br />
|
<span class="quote non-speech">Probably good enough.</span><br />
|
||||||
<span class="comment">A note on the spelling of "bodge":
|
<span class="comment">A note on the spelling of "bodge":
|
||||||
You may or may not have noticed that I tend to stick to American English.
|
You may or may not have noticed that I tend to stick to American English.
|
||||||
|
|
@ -22,44 +22,8 @@
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Jack gets up and walks over to the bunker door. He mounts the board to
|
Jack gets up and walks over to the bunker door. He mounts the board to
|
||||||
the motor – using only two of the screws – and begins
|
the motor – using only two of the screws – and attaches the
|
||||||
connecting the wires. The moment the power cable comes into contact with
|
wires.
|
||||||
the board, the motor starts making a harsh buzzing sound. He drops the
|
|
||||||
cable and it stops.<br />
|
|
||||||
<span class="quote speech">So that's why this was burnt out.</span>
|
|
||||||
<br />
|
|
||||||
He fetches a multimeter and pokes around the board and the mess of wires.
|
|
||||||
One of the control wires is stuck on.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
After a bit of fiddling with the electronics under the door controls,
|
|
||||||
he gives up and removes all the control wires. Then, he bolts the cables
|
|
||||||
for power and ground to their lugs and connects another wire to the power
|
|
||||||
cable. He touches it to one of the contacts. There's that buzzing
|
|
||||||
again. He touches it to the next one, The motor starts spinning and the
|
|
||||||
bunker door begins to move. It squeaks and scratches as it slowly
|
|
||||||
retracts into the ceiling.
|
|
||||||
</p>
|
|
||||||
<p class="comment">
|
|
||||||
Lay of the land from a neutral perspective:<br />
|
|
||||||
The bunker sits about a third up the side of a small valley with
|
|
||||||
a small river flowing in the middle. The bunker door faces north, down
|
|
||||||
into the valley. The valley opens up and gets larger to the west and
|
|
||||||
gets narrower/smaller and ends to the south-east.
|
|
||||||
In front of the bunker is a small flat area that is overgrown with
|
|
||||||
bushes. The flat area connects to a road coming from around the
|
|
||||||
mountain to the south-west and going a bit past the bunker to the east,
|
|
||||||
where it then takes a turn and crosses over a bridge to the other side.
|
|
||||||
From there, it follows the valley back to the west and disappears
|
|
||||||
around a mountain to the north-west.
|
|
||||||
In the next valley over to the north is the city of Ivydale.
|
|
||||||
The land gets flatter from there to the north-west, the location of
|
|
||||||
Ivydale's larger sister city Sentinel Shores.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Jack takes the wire off the contact and leaves it dangling. He steps
|
|
||||||
forward and looks outside. The area in front of the bunker is completely
|
|
||||||
overgrown with large bushes. He pushes the leaves aside and
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="copyright">Copyright © 2023-2025 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {if (lines[j].length >= 80) result = result + spans[j%2] + lines[j] + "</span>\n"; else result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
<p class="copyright">Copyright © 2023-2025 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {if (lines[j].length >= 80) result = result + spans[j%2] + lines[j] + "</span>\n"; else result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,6 @@
|
||||||
the place, some even out of the buildings' walls. Dora runs up
|
the place, some even out of the buildings' walls. Dora runs up
|
||||||
to one of the bushes and barks at it. A young fox jumps out and runs
|
to one of the bushes and barks at it. A young fox jumps out and runs
|
||||||
away.<br />
|
away.<br />
|
||||||
James calls her back:
|
|
||||||
<span class="quote speech">Dora, c'mere!</span>
|
<span class="quote speech">Dora, c'mere!</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
|
|
||||||
|
|
@ -133,13 +133,13 @@
|
||||||
and Jack. <span class="quote speech">Follow me.</span>
|
and Jack. <span class="quote speech">Follow me.</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Mary says: <span class="quote speech">The closest access hole is right
|
Mary says: <span class="quote speech">The closest access point is right
|
||||||
there, behind the store.</span><br />
|
there, behind the store.</span><br />
|
||||||
They walk around it and onto a field of <span class="comment">withering?
|
They walk around it and onto a field of <span class="comment">withering?
|
||||||
</span> plants. A large, partially buried pipe with just the top exposed
|
</span> plants. A large, partially buried pipe with just the top exposed
|
||||||
goes through it with an access hatch roughly in the center of the field.
|
goes through it with an access hatch roughly in the center of the field.
|
||||||
Right next to the hatch is a <span class="comment">Gestell?</span> with
|
Right next to the hatch is a <span class="comment">Gestell?</span> with
|
||||||
a boom to lower a large bucket down into it.<br />
|
a boom to lower a large bucket into the access hatch.<br />
|
||||||
Jack asks: <span class="quote speech">Is it all like this, buried pipes
|
Jack asks: <span class="quote speech">Is it all like this, buried pipes
|
||||||
going to fields?</span><br />
|
going to fields?</span><br />
|
||||||
<span class="quote speech">Mostly. In the greenhouses, it's just
|
<span class="quote speech">Mostly. In the greenhouses, it's just
|
||||||
|
|
@ -150,12 +150,28 @@
|
||||||
connects to the inlet. It's a bit of a walk but I can show
|
connects to the inlet. It's a bit of a walk but I can show
|
||||||
you.</span><br />
|
you.</span><br />
|
||||||
She gestures for them to follow but Jack stops her:<br />
|
She gestures for them to follow but Jack stops her:<br />
|
||||||
<span class="quote speech">Wait, we can drive there.</span><br />
|
<span class="quote speech">Wait, we can take the truck.</span><br />
|
||||||
<span class="quote speech">That's <i>your</i> car? Heck yeah!</span>
|
<span class="quote speech">That's <i>your</i> car?</span><br />
|
||||||
|
Her sudden excitement seems to take Jack by surprise.<br />
|
||||||
|
<span class="quote speech">Uhh... yeah.</span><br />
|
||||||
|
<span class="quote speech">That's so cool! I've only ever seen
|
||||||
|
the broken ones by the side of the road. We gonna drive there?</span>
|
||||||
<br />
|
<br />
|
||||||
<span class="quote speech">Uhh... yes.</span><br />
|
<span class="quote speech">If you show the way.</span><br />
|
||||||
He seems to be taken aback by her sudden excitement.<br />
|
<span class="quote speech">Heck yeah!</span>
|
||||||
<span class="comment">Missing: explanation, they go to car, Mary sits in
|
</p>
|
||||||
the front with Jack</span>
|
<p class="comment">
|
||||||
|
Not sure of this should be the end of a chapter or if I should continue
|
||||||
|
here.<br />
|
||||||
|
One thing that has happened is that this chapter, while written from
|
||||||
|
Annie's perspective, has her be a passive bystander without even
|
||||||
|
having any introspection for most of it. This needs to be adressed
|
||||||
|
somehow.
|
||||||
|
</p>
|
||||||
|
<p class="comment">
|
||||||
|
Description of the inlet: Two <translate: Stauwehre>, a large one
|
||||||
|
and a small one. The small one can be adjusted with large screws.
|
||||||
|
Behind the small one is a pit with a grate covering the tunnel entrance.
|
||||||
|
They see a railway bridge not too far upstream.
|
||||||
</p>
|
</p>
|
||||||
<p class="copyright">Copyright © 2023-2025 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {if (lines[j].length >= 80) result = result + spans[j%2] + lines[j] + "</span>\n"; else result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
<p class="copyright">Copyright © 2023-2025 Jan Danielzick (aka. BodgeMaster) – All rights reserved.</p><script>let spans = ["<span class=\"paper green\">", "<span>"]; let pre_texts = document.getElementsByTagName("pre"); for (let i = 0; i < pre_texts.length; i++) {if (pre_texts[i].className != "paper") continue; let lines = pre_texts[i].innerHTML.split("\n"); let result = ""; for (let j = 0; j < lines.length; j++) {if (lines[j].length >= 80) result = result + spans[j%2] + lines[j] + "</span>\n"; else result = result + spans[j%2] + lines[j] + " ".repeat(80-lines[j].length) + "</span>\n";} pre_texts[i].innerHTML = result;}</script></body></html>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue