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. | ||||
| 
 | ||||
| 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 | ||||
| the files). | ||||
|  |  | |||
							
								
								
									
										166
									
								
								ea-RTFM.html
								
								
								
								
							
							
						
						
									
										166
									
								
								ea-RTFM.html
								
								
								
								
							|  | @ -4,12 +4,11 @@ | |||
| <!-- perspective: Annie --> | ||||
| 
 | ||||
| <p> | ||||
|   Annie arrives at a house with multiple ground-level entrances. | ||||
|   She rings one of the doorbells and waits. Nobody answers. She checks | ||||
|   that it is the right door – yes, this is grandpa Karl's | ||||
|   Annie rings the doorbell and waits. Nobody answers. She checks that | ||||
|   she's at the right door – yes, this is grandpa Karl's | ||||
|   apartment. She rings again. A window on <span class="comment">in?</span> | ||||
|   one of the adjacent houses opens and she hears Isabelle quietly calling | ||||
|   her:<br /> | ||||
|   one of the adjacent houses opens and she hears Isabelle quietly | ||||
|   calling her.<br /> | ||||
|   <span class="quote speech">Annie, we're over here.</span><br /> | ||||
|   She walks over.<br /> | ||||
|   <span class="quote speech">Which door?</span><br /> | ||||
|  | @ -22,149 +21,30 @@ | |||
|   This place has been <span class="comment">vacant</span> forever, might | ||||
|   as well use it.</span><br /> | ||||
|   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 rack's side panels had been removed, revealing the devices | ||||
|   mounted inside and the cables connecting them. Lucas is pushing a circuit | ||||
|   board into a half-assembled metal box that hangs out the front. Karl goes | ||||
|   over to a stool next to the rack, carefully avoiding stepping on things, | ||||
|   and sits down. | ||||
|   The rack's side panels had been removed, revealing the rails holding | ||||
|   the various devices inside and their power cables. Lucas is pushing | ||||
|   a circuit board into a half-assembled device that hangs out the front. | ||||
|   Karl goes over to a stool next to the rack, carefully avoiding stepping | ||||
|   on things, and sits down. | ||||
| </p> | ||||
| <p> | ||||
|   Annie sits down next to Lucas and watches as he carefully | ||||
|   <span class="comment">synonym for careful?</span> inserts another | ||||
|   board. Karl is reading from a binder of documentation and tells him to | ||||
|   set some tiny switches on its front edge.<br /> | ||||
|   While grabbing the next board, Lucas says: | ||||
|   <span class="quote speech">Annie, can you take these and prepare the DIP | ||||
|   switches?</span><br /> | ||||
|   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. | ||||
|   Annie sits down next to Lucas and watches as he carefully inserts one | ||||
|   board after the other. Karl is looking at the manual and tells him | ||||
|   to set some tiny switches on the front of some of them.<br /> | ||||
|   Karl says: <span class="quote speech">Annie, can you hand me these four | ||||
|   gray ribbon cables?</span><br /> | ||||
|   She looks around, lots of different cables everywhere.<br /> | ||||
|   <span class="quote speech">The wide, flat ones to your left.</span><br /> | ||||
|   He takes them and plugs them somewhere into the back of the rack. | ||||
| </p> | ||||
| <p> | ||||
|   Karl takes the racks's power cable and plugs it in. Isabelle gets | ||||
|   the terminal from a corner of the room and lifts it onto the rack. | ||||
|   Meanwhile, Annie and Lucas start collecting the cables and loose parts | ||||
|   from the floor. Isabelle plugs the terminal into power and Karl connects | ||||
|   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. | ||||
|   Isabelle grabs the terminal from a corner of the room and lifts it onto | ||||
|   the rack. Meanwhile, Annie and Lucas start collecting the cables and | ||||
|   loose parts from the floor. Karl plugs rack and terminal into power and | ||||
|   connects a cable between the terminal and one of the devices in the front | ||||
|   of the rack. | ||||
| </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> | ||||
|  |  | |||
|  | @ -8,10 +8,10 @@ | |||
| 
 | ||||
| <p> | ||||
|   Jack puts the soldering iron back into its holder and admires his | ||||
|   creation. This hack job of bodge wires and not quite right replacement | ||||
|   components, held together by what remains of the corroded motor driver | ||||
|   board is truly beautiful in the ugliest way possible – in his eyes | ||||
|   at least. He picks it up and ispects the other side.<br /> | ||||
|   creation. This hack job of bodge wires and not quite the right | ||||
|   replacement components, held together by what remains of the corroded | ||||
|   motor driver board is truly beautiful in the ugliest way possible – | ||||
|   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="comment">A note on the spelling of "bodge": | ||||
|   You may or may not have noticed that I tend to stick to American English. | ||||
|  | @ -22,44 +22,8 @@ | |||
| </p> | ||||
| <p> | ||||
|   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 | ||||
|   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  | ||||
|   the motor – using only two of the screws – and attaches the | ||||
|   wires. | ||||
| </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> | ||||
|  |  | |||
|  | @ -86,7 +86,6 @@ | |||
|   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 | ||||
|   away.<br /> | ||||
|   James calls her back: | ||||
|   <span class="quote speech">Dora, c'mere!</span> | ||||
| </p> | ||||
| <p> | ||||
|  |  | |||
|  | @ -133,13 +133,13 @@ | |||
|   and Jack. <span class="quote speech">Follow me.</span> | ||||
| </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 /> | ||||
|   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 | ||||
|   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 | ||||
|   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 | ||||
|   going to fields?</span><br /> | ||||
|   <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 | ||||
|   you.</span><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">That's <i>your</i> car? Heck yeah!</span> | ||||
|   <span class="quote speech">Wait, we can take the truck.</span><br /> | ||||
|   <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 /> | ||||
|   <span class="quote speech">Uhh... yes.</span><br /> | ||||
|   He seems to be taken aback by her sudden excitement.<br /> | ||||
|   <span class="comment">Missing: explanation, they go to car, Mary sits in | ||||
|   the front with Jack</span> | ||||
|   <span class="quote speech">If you show the way.</span><br /> | ||||
|   <span class="quote speech">Heck yeah!</span> | ||||
| </p> | ||||
| <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 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