Subject: Northstar File Transfer from PC

From: Doug Coward <[email-masked]>
Date: Mon May 5 21:14:00 2003

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
=========================================

---

From: "Cini, Richard" <[email-masked]>
Date: Tue May 6 08:04:00 2003

Dwight:

	I have a working N* Horizon system (dual drive, 56k RAM, monitor in
ROM) and would be happy to lend my testing services.

	From time to time, I've wrestled with the same disk image
manipulation issues for the Altair32 emulator, i.e., manipulating the disk
image outside of the emulation environment itself. My conclusion was that
there's no substitute for using the original OS for maniuplating the images.
So, we developed several methods to move program files into and out of the
emulator by using some home-grown and CP/M-native utilities and the file
transfer functions of the terminal program on the PC.

	I really want to do an external "image management" program but
haven't found a clean/easy way without essentially re-implementing portions
of the base OS.

Rich

-----Original Message-----
From: Dwight K. Elvey [mailto:[email-masked]]
Sent: Monday, May 05, 2003 5:23 PM
To: [email-masked]
Subject: Re: Northstar File Transfer from PC

Hi Marvin
 Maybe this isn't exactly what you are looking for
but I'm currently working on some software to transfer
entire disk images through the serial port of a H89
to a PC. I have another friend checking out my first
version, now. I hope to do a similar things for the
N*'s as soon as I get one of these machines up and
running ( on my list of things to do ).
 I suppose that once the image is on the PC, one can
modify the image to include any new files, one wants
and then transfer it back to the N*. It isn't a nice
direct method but my main intent is to get some way
to send disk images over the net and not specifically
individual files.
 I haven't fiddled with the N* at all and don't
know a lot about it. The H89 has a simple monitor that
I use to hand enter a simple bootstrap program. With
this, I bring in the rest of the code to run the disk
drive. Does the N* have a ROM based monitor?
 I also have a similar setup for my Poly88 but that is
setup for getting code into the Poly88 and tape from the PC.
I used this to create code to do the various tape
copying functions. I can read code from a cassette
tape, transfer it through the serial to the PC and
later feed it back through the serial to the Poly88
to write back onto tape. I use a similar bootstrapping
code to get things started, through the Poly's monitor.
Dwight

>From: "Marvin Johnston" <[email-masked]>
>
>-------------------------------------------
>ebaY's Security Breach and Coverup
>http://www.auctionguild.com/generic110.html

---

From: "Dwight K. Elvey" <[email-masked]>
Date: Tue May 6 17:26:00 2003

>From: "Cini, Richard" <[email-masked]>
>
>Dwight:
>

Hi Rich
 I've found that it is usually not all that difficult to
do. I've written code to handle DOS files on a non-PC
machine. I have a friend in Germany that has written
code to manipulate files from a Olivetti M20 ( Z8000 machine )
image file on a PC. This is using PCOS ( Olivetti's OS ).
I wrote code to build disk images for the CPM8000 that I got
up and running on the M20 as well. I've always felt that
such activities, although time consuming, pay off later
in the ability to handle new problems.
Dwight