This checkpoint establishes verified deployment infrastructure for the Dataforth DOS Update System with proper file synchronization and documentation. ## Key Changes ### TS-4R Backup and Analysis - Backed up complete TS-4R machine to D:\ClaudeTools\backups\TS-4R\ - Analyzed MENUX.EXE startup menu system (758-line QuickBasic program) - Documented complete startup sequence: AUTOEXEC.BAT → STARTNET.BAT → MENUX.EXE - Found MENUX.BAS source code (Feb 2008 version) from KEPCO ABC software archive ### AD2-NAS Sync Infrastructure Fixes - Created junction: COMMON → _COMMON (single source of truth for software updates) - Verified bidirectional sync logic prevents data backflow: * Test data: DOS → NAS → AD2 → Database (one-way, deleted from NAS) * Program updates: AD2 → NAS → DOS (one-way, files remain on AD2) - Manually deployed correct BAT file versions to NAS after sync connection issues - Verified all 9 BAT files deployed correctly (5.1KB-8.8KB each) ### Deployment Scripts Created - check-junction.ps1: Verify COMMON/\_COMMON junction status - compare-common-folders.ps1: Compare folder contents - deploy-correct-bat-files.ps1: Deploy BAT files from local to AD2 - fix-common-junction.ps1: Create COMMON → _COMMON junction - verify-bat-deployment.ps1: Verify file versions on AD2 - manual-push-to-nas.sh: Manual BAT file deployment to NAS - read-sync-script.ps1: Read Sync-FromNAS.ps1 from AD2 - search-menux-ad2.ps1: Search for MENUX source files ### Documentation Updates - Updated all deployment guides with MENUX startup sequence - Added startup flow to credentials.md and session logs - Documented junction requirement for COMMON/\_COMMON - Added data flow verification confirming unidirectional sync ## Technical Details **Files Deployed to NAS (2026-01-20 09:01-09:02):** - UPDATE.BAT (5,181 bytes) - Machine backup utility - DEPLOY.BAT (5,579 bytes) - One-time deployment installer - NWTOC.BAT (6,305 bytes) - Network to Computer updates - CTONW.BAT (7,831 bytes) - Computer to Network uploads - CTONWTXT.BAT (1,504 bytes) - Text file version - CHECKUPD.BAT (6,495 bytes) - Check for updates - STAGE.BAT (8,794 bytes) - Stage system files - REBOOT.BAT (5,099 bytes) - Apply staged updates - AUTOEXEC.BAT (2,211 bytes) - DOS startup configuration **Sync Logic Verified:** - PULL: /data/test/TS-*/LOGS/*.DAT copied to AD2, then deleted from NAS - PUSH: C:\Shares\test\_COMMON\ProdSW\* copied to /data/test/COMMON/ProdSW/ - No reverse flow in either direction (test data never returns to DOS) **Junction Created:** - Target: C:\Shares\test\COMMON → C:\Shares\test\_COMMON - Eliminates duplicate file maintenance - Backup saved to C:\Shares\test\COMMON.backup ## Files Modified - DOS_DEPLOYMENT_GUIDE.md: Added automatic startup sequence - docs/DEPLOYMENT_GUIDE.md: Updated post-reboot expectations - docs/ENGINEER_HOWTO_GUIDE.md: Added MENUX menu loading step - credentials.md: Documented startup sequence and MENUX interface - session-logs/2026-01-19-session.md: Added startup documentation ## Files Added - 8 PowerShell deployment/verification scripts - 3 HTML documentation exports - TS-4R complete backup (not committed to git) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
524 lines
16 KiB
HTML
524 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>DOS Update System - Test Staff Guide</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400&family=Raleway:wght@400;600;700;800&family=Fira+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
:root {
|
|
--color-primary: #1e3a8a;
|
|
--color-secondary: #3b82f6;
|
|
--color-success: #10b981;
|
|
--color-text: #1f2937;
|
|
--color-text-light: #4b5563;
|
|
--color-border: #d1d5db;
|
|
--color-bg-code: #f9fafb;
|
|
--color-bg-highlight: #dbeafe;
|
|
--color-bg-success: #d1fae5;
|
|
--font-body: 'Lora', Georgia, serif;
|
|
--font-heading: 'Raleway', -apple-system, sans-serif;
|
|
--font-mono: 'Fira Mono', 'Consolas', monospace;
|
|
}
|
|
|
|
body {
|
|
font-family: var(--font-body);
|
|
font-size: 11pt;
|
|
line-height: 1.7;
|
|
color: var(--color-text);
|
|
background: white;
|
|
max-width: 210mm;
|
|
margin: 0 auto;
|
|
padding: 20mm;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
font-family: var(--font-heading);
|
|
font-weight: 700;
|
|
line-height: 1.3;
|
|
margin-top: 2em;
|
|
margin-bottom: 0.75em;
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
h1 {
|
|
font-size: 28pt;
|
|
font-weight: 800;
|
|
margin-top: 0;
|
|
margin-bottom: 0.5em;
|
|
padding-bottom: 0.3em;
|
|
border-bottom: 3px solid var(--color-primary);
|
|
}
|
|
|
|
h2 {
|
|
font-size: 18pt;
|
|
margin-top: 1.5em;
|
|
padding-bottom: 0.2em;
|
|
border-bottom: 2px solid var(--color-border);
|
|
}
|
|
|
|
h3 {
|
|
font-size: 14pt;
|
|
color: var(--color-secondary);
|
|
}
|
|
|
|
h4 {
|
|
font-size: 12pt;
|
|
font-weight: 600;
|
|
}
|
|
|
|
p {
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
strong {
|
|
font-weight: 700;
|
|
color: var(--color-text);
|
|
}
|
|
|
|
em {
|
|
font-style: italic;
|
|
}
|
|
|
|
ul, ol {
|
|
margin-left: 1.5em;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
li {
|
|
margin-bottom: 0.5em;
|
|
}
|
|
|
|
pre {
|
|
background: var(--color-bg-code);
|
|
border: 1px solid var(--color-border);
|
|
border-left: 4px solid var(--color-secondary);
|
|
padding: 1em;
|
|
margin: 1em 0;
|
|
overflow-x: auto;
|
|
font-family: var(--font-mono);
|
|
font-size: 9pt;
|
|
line-height: 1.5;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
code {
|
|
font-family: var(--font-mono);
|
|
font-size: 9.5pt;
|
|
background: var(--color-bg-code);
|
|
padding: 0.15em 0.4em;
|
|
border-radius: 3px;
|
|
border: 1px solid #e5e7eb;
|
|
}
|
|
|
|
pre code {
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin: 1.5em 0;
|
|
font-size: 10pt;
|
|
}
|
|
|
|
th, td {
|
|
border: 1px solid var(--color-border);
|
|
padding: 0.75em;
|
|
text-align: left;
|
|
}
|
|
|
|
th {
|
|
background: var(--color-primary);
|
|
color: white;
|
|
font-family: var(--font-heading);
|
|
font-weight: 600;
|
|
}
|
|
|
|
tr:nth-child(even) {
|
|
background: var(--color-bg-code);
|
|
}
|
|
|
|
.metadata {
|
|
background: var(--color-bg-highlight);
|
|
border-left: 4px solid var(--color-secondary);
|
|
padding: 1em;
|
|
margin-bottom: 2em;
|
|
font-size: 10pt;
|
|
}
|
|
|
|
.metadata p {
|
|
margin-bottom: 0.25em;
|
|
}
|
|
|
|
.divider {
|
|
border: none;
|
|
border-top: 1px solid var(--color-border);
|
|
margin: 2em 0;
|
|
}
|
|
|
|
.highlight-box {
|
|
background: var(--color-bg-success);
|
|
border: 2px solid var(--color-success);
|
|
border-left: 6px solid var(--color-success);
|
|
padding: 1em;
|
|
margin: 1em 0;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.highlight-box p {
|
|
margin-bottom: 0;
|
|
font-weight: 600;
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.dos-screen {
|
|
background: #000;
|
|
color: #c0c0c0;
|
|
border: 4px solid #808080;
|
|
padding: 1.5em;
|
|
margin: 1.5em 0;
|
|
font-family: var(--font-mono);
|
|
font-size: 9pt;
|
|
line-height: 1.4;
|
|
white-space: pre;
|
|
overflow-x: auto;
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.toc {
|
|
background: var(--color-bg-code);
|
|
border: 1px solid var(--color-border);
|
|
padding: 1.5em;
|
|
margin: 2em 0;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.toc h2 {
|
|
margin-top: 0;
|
|
font-size: 14pt;
|
|
border: none;
|
|
}
|
|
|
|
.toc ol {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
.toc a {
|
|
color: var(--color-secondary);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.toc a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.step-number {
|
|
display: inline-block;
|
|
background: var(--color-secondary);
|
|
color: white;
|
|
width: 2em;
|
|
height: 2em;
|
|
line-height: 2em;
|
|
text-align: center;
|
|
border-radius: 50%;
|
|
font-weight: 700;
|
|
margin-right: 0.5em;
|
|
}
|
|
|
|
@media print {
|
|
body {
|
|
max-width: 100%;
|
|
padding: 15mm;
|
|
}
|
|
|
|
h1 {
|
|
page-break-before: auto;
|
|
page-break-after: avoid;
|
|
}
|
|
|
|
h2, h3, h4 {
|
|
page-break-after: avoid;
|
|
}
|
|
|
|
pre, table, .dos-screen, .highlight-box {
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
a {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.toc {
|
|
page-break-after: always;
|
|
}
|
|
|
|
@page {
|
|
margin: 20mm;
|
|
@bottom-center {
|
|
content: "Page " counter(page);
|
|
font-family: var(--font-heading);
|
|
font-size: 9pt;
|
|
color: var(--color-text-light);
|
|
}
|
|
@bottom-right {
|
|
content: "Test Staff Guide";
|
|
font-family: var(--font-heading);
|
|
font-size: 8pt;
|
|
color: var(--color-text-light);
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>DOS Update System - Test Staff Guide</h1>
|
|
|
|
<div class="metadata">
|
|
<p><strong>Document Version:</strong> 1.0</p>
|
|
<p><strong>Date:</strong> January 19, 2026</p>
|
|
<p><strong>Audience:</strong> Test Staff and Technicians</p>
|
|
<p><strong>Prerequisites:</strong> Access to DOS test machines (TS-01 through TS-30)</p>
|
|
</div>
|
|
|
|
<hr class="divider">
|
|
|
|
<div class="toc">
|
|
<h2>Table of Contents</h2>
|
|
<ol>
|
|
<li><a href="#daily-operations">Daily Operations</a></li>
|
|
<li><a href="#first-time-setup">First Time Setup</a></li>
|
|
<li><a href="#manual-operations">Manual Operations</a></li>
|
|
<li><a href="#troubleshooting">Troubleshooting</a></li>
|
|
<li><a href="#quick-reference">Quick Reference</a></li>
|
|
</ol>
|
|
</div>
|
|
|
|
<hr class="divider">
|
|
|
|
<h2 id="daily-operations">Daily Operations</h2>
|
|
|
|
<p><strong>Starting your test machine:</strong></p>
|
|
<ol>
|
|
<li>Power on DOS machine</li>
|
|
<li>Wait for boot process</li>
|
|
<li>System automatically downloads updates</li>
|
|
<li>System automatically uploads test data</li>
|
|
<li>See "System Ready" message</li>
|
|
<li>Start testing</li>
|
|
</ol>
|
|
|
|
<div class="highlight-box">
|
|
<p>No manual commands needed - the system handles everything automatically.</p>
|
|
</div>
|
|
|
|
<h3>Boot Sequence</h3>
|
|
|
|
<div class="dos-screen">┌─────────────────────────────────────────────────────────────────┐
|
|
│ Microsoft(R) MS-DOS(R) Version 6.22 │
|
|
│ │
|
|
│ ============================================================== │
|
|
│ Dataforth Test Machine: TS-04 │
|
|
│ DOS 6.22 with Automatic Update System │
|
|
│ ============================================================== │
|
|
│ │
|
|
│ Starting network client... │
|
|
│ [OK] Network started │
|
|
│ │
|
|
│ Checking for software updates... │
|
|
│ [1/4] Updating batch files from T:\COMMON\ProdSW... │
|
|
│ [OK] No new batch files in COMMON │
|
|
│ [2/4] Updating machine-specific files... │
|
|
│ [SKIP] No machine-specific directory │
|
|
│ [3/4] Checking for system file updates... │
|
|
│ [OK] No system file updates │
|
|
│ [4/4] Checking for network client updates... │
|
|
│ [OK] No network client updates │
|
|
│ ============================================================== │
|
|
│ Update Complete │
|
|
│ ============================================================== │
|
|
│ │
|
|
│ Uploading test data to network... │
|
|
│ [1/3] Uploading batch files from C:\BAT... │
|
|
│ [OK] Batch files uploaded │
|
|
│ [2/3] Uploading programs and config from C:\ATE... │
|
|
│ [OK] Programs uploaded to ProdSW │
|
|
│ [3/3] Uploading test data to LOGS... │
|
|
│ [OK] Test data uploaded to LOGS (for database import) │
|
|
│ ============================================================== │
|
|
│ Upload Complete │
|
|
│ ============================================================== │
|
|
│ │
|
|
│ ============================================================== │
|
|
│ System Ready │
|
|
│ ============================================================== │
|
|
│ │
|
|
│ C:\> │
|
|
└─────────────────────────────────────────────────────────────────┘</div>
|
|
|
|
<p><strong>Boot time:</strong> 2-3 minutes</p>
|
|
|
|
<hr class="divider">
|
|
|
|
<h2 id="first-time-setup">First Time Setup</h2>
|
|
|
|
<p><strong>For new or reformatted machines:</strong></p>
|
|
|
|
<h3><span class="step-number">1</span> Boot Machine</h3>
|
|
<ul>
|
|
<li>Power on DOS machine</li>
|
|
<li>Let it boot to C:\> prompt</li>
|
|
<li>Verify network drives (T: and X:)</li>
|
|
</ul>
|
|
|
|
<p>You should see a black DOS screen with white text showing the machine name and a blinking cursor at the C:\> prompt.</p>
|
|
|
|
<h3><span class="step-number">2</span> Verify Network</h3>
|
|
<p>Type:</p>
|
|
<pre><code>DIR T:\</code></pre>
|
|
|
|
<p>Should see COMMON and TS-XX folders.</p>
|
|
|
|
<h3><span class="step-number">3</span> Run Deployment</h3>
|
|
<p>Type (replace XX with your machine number):</p>
|
|
<pre><code>T:\UPDATE.BAT TS-04</code></pre>
|
|
|
|
<p>The deployment script will start immediately and display the installation progress.</p>
|
|
|
|
<h3><span class="step-number">4</span> Watch Progress</h3>
|
|
|
|
<div class="dos-screen">==============================================================
|
|
DOS Update System - Deployment
|
|
==============================================================
|
|
Machine: TS-04
|
|
==============================================================
|
|
|
|
Installing automatic update system...
|
|
|
|
Files to install:
|
|
- AUTOEXEC.BAT (startup configuration)
|
|
- NWTOC.BAT (download updates)
|
|
- CTONW.BAT (upload test data)
|
|
- UPDATE.BAT (full backup)
|
|
- CHECKUPD.BAT (check updates)
|
|
- STAGE.BAT (system file updates)
|
|
- REBOOT.BAT (apply staged updates)
|
|
|
|
Press any key to continue . . .</div>
|
|
|
|
<h3><span class="step-number">5</span> Deployment Complete</h3>
|
|
|
|
<div class="dos-screen">==============================================================
|
|
Deployment Complete!
|
|
==============================================================
|
|
|
|
Machine: TS-04
|
|
|
|
The automatic update system is now installed.
|
|
|
|
==============================================================
|
|
REBOOT NOW
|
|
==============================================================
|
|
|
|
Press Ctrl+Alt+Del to reboot</div>
|
|
|
|
<h3><span class="step-number">6</span> Reboot</h3>
|
|
<p>Press <strong>Ctrl+Alt+Del</strong> to reboot.</p>
|
|
|
|
<hr class="divider">
|
|
|
|
<h2 id="manual-operations">Manual Operations</h2>
|
|
|
|
<p><strong>Manual operations are optional.</strong> Use them when needed:</p>
|
|
|
|
<h3>Check for Updates</h3>
|
|
<pre><code>C:\BAT\CHECKUPD</code></pre>
|
|
|
|
<p>This displays a list of files on the network that are newer than your local files.</p>
|
|
|
|
<h3>Download Updates Now</h3>
|
|
<pre><code>C:\BAT\NWTOC</code></pre>
|
|
|
|
<p>This runs the same update process that happens automatically at boot. You'll see progress messages as files are downloaded.</p>
|
|
|
|
<h3>Upload Test Data Now</h3>
|
|
<pre><code>C:\BAT\CTONW</code></pre>
|
|
|
|
<p>This uploads your local test data and programs to the network. Progress messages show which files are being uploaded.</p>
|
|
|
|
<hr class="divider">
|
|
|
|
<h2 id="troubleshooting">Troubleshooting</h2>
|
|
|
|
<h3>Network Not Available</h3>
|
|
<p><strong>Error:</strong> "T: drive not available"</p>
|
|
|
|
<p><strong>Solution:</strong></p>
|
|
<ol>
|
|
<li>Check network cable</li>
|
|
<li>Restart network: <code>C:\NET\STARTNET</code></li>
|
|
<li>Wait 30 seconds</li>
|
|
<li>Try: <code>DIR T:\</code></li>
|
|
</ol>
|
|
|
|
<p>If the network is working, <code>DIR T:\</code> will show a directory listing. If not working, you'll see "Invalid drive specification".</p>
|
|
|
|
<h3>Updates Not Downloading</h3>
|
|
<p><strong>Solution:</strong></p>
|
|
<ol>
|
|
<li>Wait 15-20 minutes (for sync)</li>
|
|
<li>Reboot machine</li>
|
|
<li>Check DOS date/time: <code>DATE</code> and <code>TIME</code></li>
|
|
<li>Contact engineering if still not working</li>
|
|
</ol>
|
|
|
|
<h3>Boot Takes Too Long</h3>
|
|
<p><strong>Normal boot time:</strong> 2-3 minutes</p>
|
|
|
|
<p><strong>If longer:</strong></p>
|
|
<ol>
|
|
<li>Check network cable</li>
|
|
<li>Press Ctrl+C to skip if stuck</li>
|
|
<li>Contact IT</li>
|
|
</ol>
|
|
|
|
<hr class="divider">
|
|
|
|
<h2 id="quick-reference">Quick Reference</h2>
|
|
|
|
<h3>Daily Operations</h3>
|
|
<pre><code>Boot machine → Wait for "System Ready" → Start testing</code></pre>
|
|
|
|
<h3>First Time Setup</h3>
|
|
<pre><code>T:\UPDATE.BAT TS-XX → Reboot → Done</code></pre>
|
|
|
|
<h3>Manual Commands</h3>
|
|
<pre><code>C:\BAT\CHECKUPD - Check available updates
|
|
C:\BAT\NWTOC - Download updates now
|
|
C:\BAT\CTONW - Upload test data now</code></pre>
|
|
|
|
<h3>Troubleshooting</h3>
|
|
<pre><code>C:\NET\STARTNET - Restart network
|
|
DATE - Check DOS date
|
|
TIME - Check DOS time
|
|
DIR T:\ - Verify network access</code></pre>
|
|
|
|
<h3>Emergency Contacts</h3>
|
|
<pre><code>Test Lead: [Contact]
|
|
Engineering: [Contact]
|
|
IT Support: [Contact]</code></pre>
|
|
|
|
</body>
|
|
</html>
|