Marvin wrote:
What is the procedure for transfering files to and
from a PC using N*
DOS? For text from the N* to the PC, no problem, just print it out to
the terminal (a DOS machine) and capture it. But what about going the
other way, wanting to get information back to the N*? Any information
appreciated!
===== Transferring from the N* to the PC ======
I developed a process for capturing the entire disk
so would have a backup of each my N* disks on the PC.
I figured that later I could use the data to create
a disk image and then extract the files from that disk
image.
The procedure is basically reading sections of the
disk into a buffer using N* DOS and then listing
that buffer to a PC log file using N* monitor.
Here is the procedure. The comments below are not
part of the procedure and they are not captured in the
file. They are just added to clarify the procedure.
// Step 1 - While booted into N* DOS, turn logging
// on in my terminal program (PROCOMM)
// Step 2 - I type in the LI command to list the files
// on this disk. This documents which files, and where
// they are on the disk
+LI
DOS 4 12 D 1 2000
BASIC 10 52 D 1 2D00
MAILER 36 30 D 2
LIST 51 500 D 3
CF 301 6 D 1 2D00
SID 304 48 D 1 9000
MONITOR 328 8 D 1 0
CD 332 4 D 1 2D00
// Step 3 - I have determined that I can read 144 blocks
// at address 3000H without overwriting DOS or the monitor.
// So I read 144 blocks starting from block 0 on the disk.
+RD 0 3000 144
// Step 4 - I load and run the N* MONITOR which happens to
// be on this disk. If it was not on this disk I would have
// temporarly swap disks, load the MONITOR and swapped back.
+GO MONITOR
// The N* MONITOR starts
MONITOR 5.0
// Step 5 - I use the MONITOR command to dump the 144 256
// byte blocks to the terminal.
DA 3000-C000
3000 44 4F 53 20 20 20 20 20 04
00 06 00 81 00 20 20
D O S -
3010 42 41 53 49 43 20 20 20 0A 00 1A 00 81 00 2D 20
B A S I C - -
3020 4D 41 49 4C 45 52 20 20 24 00 0F 00 82 1A 20 20
M A I L E R $ -
// ---- BIG SNIP HERE to shorten this email -----
BFE0 20 03 8B 47 45 4E 45 56 41 20 52 4F 43 4B 20 50
- G E N E V A R O C K P
BFF0 52 4F 44 2E 20 20 20 20 20 20 20 20 20 20 20 20
R O D .
C000 A3
-#
// Step 5 - I return to N* DOS with the OS command
OS
// Next step - I read the next 144 blocks.
This is a
// double density disk and each sector is 512 bytes
// contains 2 blocks, so the next read is from 'disk
// address 72.
+RD 72 3000 144
// Back to the MONITOR, repeating the 5 steps until
// the entire disk is read. The only command that
// changes each time is the RD command.
+GO MONITOR
DA 3000-C000
// The other read commands are:
+RD 144 3000 144
+RD 216 3000 144
+RD 288 3000 124
// There are 35 tracks, 10 sectors, 2 blocks per
// sector, making 700 blocks of 256 bytes each
// for a double density disk. So the last read
// is just 124 blocks.
// Of course the last step is to close the log file.
===== Transferring from the PC to the N* ======
I have done this. But I would just suggest that
you write a N* BASIC program that first prompts
for a filename and creates the file. Then the
program would wait for data from the PC which
it would store in a buffer before writting the
data to disk. I would suggest sending the data
as ascii encoded hex.
--Doug
=========================================
Doug Coward
@ home in Poulsbo, WA
Analog Computer Online Museum and History Center
http://dcoward.best.vwh.net/analog
=========================================