Compare commits
6 Commits
55b037a8a9
...
f114c742b0
| Author | SHA1 | Date |
|---|---|---|
|
|
f114c742b0 | |
|
|
f99fab5b7e | |
|
|
5ab9700810 | |
|
|
1b93b6813f | |
|
|
09b841611e | |
|
|
f354b8d112 |
|
|
@ -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 will be a mirror on GitHub (tbd).
|
If that doesn't work for you, there is a mirror on GitHub: https://bodgemaster.github.io/new_dawn_mirror/
|
||||||
|
|
||||||
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,11 +4,12 @@
|
||||||
<!-- perspective: Annie -->
|
<!-- perspective: Annie -->
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Annie rings the doorbell and waits. Nobody answers. She checks that
|
Annie arrives at a house with multiple ground-level entrances.
|
||||||
she's at the right door – yes, this is grandpa Karl's
|
She rings one of the doorbells and waits. Nobody answers. She checks
|
||||||
|
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
|
one of the adjacent houses opens and she hears Isabelle quietly calling
|
||||||
calling her.<br />
|
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 />
|
||||||
|
|
@ -21,30 +22,149 @@
|
||||||
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 to the living room where cables and computer parts are all over
|
they go into 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 rails holding
|
The rack's side panels had been removed, revealing the devices
|
||||||
the various devices inside and their power cables. Lucas is pushing
|
mounted inside and the cables connecting them. Lucas is pushing a circuit
|
||||||
a circuit board into a half-assembled device that hangs out the front.
|
board into a half-assembled metal box that hangs out the front. Karl goes
|
||||||
Karl goes over to a stool next to the rack, carefully avoiding stepping
|
over to a stool next to the rack, carefully avoiding stepping on things,
|
||||||
on things, and sits down.
|
and sits down.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Annie sits down next to Lucas and watches as he carefully inserts one
|
Annie sits down next to Lucas and watches as he carefully
|
||||||
board after the other. Karl is looking at the manual and tells him
|
<span class="comment">synonym for careful?</span> inserts another
|
||||||
to set some tiny switches on the front of some of them.<br />
|
board. Karl is reading from a binder of documentation and tells him to
|
||||||
Karl says: <span class="quote speech">Annie, can you hand me these four
|
set some tiny switches on its front edge.<br />
|
||||||
gray ribbon cables?</span><br />
|
While grabbing the next board, Lucas says:
|
||||||
She looks around, lots of different cables everywhere.<br />
|
<span class="quote speech">Annie, can you take these and prepare the DIP
|
||||||
<span class="quote speech">The wide, flat ones to your left.</span><br />
|
switches?</span><br />
|
||||||
He takes them and plugs them somewhere into the back of the rack.
|
He pushes the box over to her. It contains four circuit boards, all
|
||||||
|
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>
|
||||||
Isabelle grabs the terminal from a corner of the room and lifts it onto
|
Karl takes the racks's power cable and plugs it in. Isabelle gets
|
||||||
the rack. Meanwhile, Annie and Lucas start collecting the cables and
|
the terminal from a corner of the room and lifts it onto the rack.
|
||||||
loose parts from the floor. Karl plugs rack and terminal into power and
|
Meanwhile, Annie and Lucas start collecting the cables and loose parts
|
||||||
connects a cable between the terminal and one of the devices in the front
|
from the floor. Isabelle plugs the terminal into power and Karl connects
|
||||||
of the rack.
|
a cable between it and one of the devices in the front 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 the right
|
creation. This hack job of bodge wires and not quite right replacement
|
||||||
replacement components, held together by what remains of the corroded
|
components, held together by what remains of the corroded motor driver
|
||||||
motor driver board is truly beautiful in the ugliest way possible –
|
board is truly beautiful in the ugliest way possible – in his eyes
|
||||||
in his eyes at least. He picks it up and ispects the other side.
|
at least. He picks it up and ispects the other side.<br />
|
||||||
<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,8 +22,44 @@
|
||||||
</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 attaches the
|
the motor – using only two of the screws – and begins
|
||||||
wires.
|
connecting the wires. The moment the power cable comes into contact with
|
||||||
|
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,6 +86,7 @@
|
||||||
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 point is right
|
Mary says: <span class="quote speech">The closest access hole 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 into the access hatch.<br />
|
a boom to lower a large bucket down into it.<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,28 +150,12 @@
|
||||||
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 take the truck.</span><br />
|
<span class="quote speech">Wait, we can drive there.</span><br />
|
||||||
<span class="quote speech">That's <i>your</i> car?</span><br />
|
<span class="quote speech">That's <i>your</i> car? Heck yeah!</span>
|
||||||
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">If you show the way.</span><br />
|
<span class="quote speech">Uhh... yes.</span><br />
|
||||||
<span class="quote speech">Heck yeah!</span>
|
He seems to be taken aback by her sudden excitement.<br />
|
||||||
</p>
|
<span class="comment">Missing: explanation, they go to car, Mary sits in
|
||||||
<p class="comment">
|
the front with Jack</span>
|
||||||
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