<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Wed, 11 Apr 1984 09:45:50-PST (Wed)
From   : harpo!ulysses!burl!clyde!akgua!psuvax!mancuso@Ucb-Vax.ARPA
Subject: Xerox 820 REVEALED#5--updates & hints

It works!!  We succeded in getting CP/M 2.0 up on one of the boards the
other night, so now it is official--it *is* possible.  I wrote a boot
program and the CBIOS section and well, it works.  The code still needs
some work to make it bulletproof, though.  Most of the functions map right
over to the Xerox monitor ROM entry points with a bit of shuffling.  There
are some little things that need to be changed (CP/M sends characters in the
C register to be output, and Xerox wants them in the A register...) but nothing
too difficult.

Some updates and hints:

In a previous article I mentioned that the monitor command 'B' also boots
the system.  It does, but it boots from disk 01 instead of disk 00 like the
'A' command does.  If your boot program (like mine) assumes that the system
will be cold-booted from drive 00, make sure you use the 'A' command to boot
the system.

I just got this update on the 'undocumented' monitor entry points:

***********************************************************************
>From .....!ucbvax!waldron.wbst@Xerox.ARPA Wed Apr 11 07:32:57 1984
Subject: Re: Xerox 820 REVEALED#2--Monitor Jump Tables

I hope I can fill in some of the blanks.  This info is from the 820
Software Development guide.  I have not tested any of them. For those
that were short and
clear I typed the actual code listing with comments verbatim.

F033   SPACE   Print a space
               In : ??
               Out: ??

F03F   ASCHEX  Convert ascii to hex

       ASCHEX: SUB     '0'
               RET     C
               CP      10
               CCF
               RET     NC
               SUB     7
               CP      10
               RET     C
               CP      16
               CCF
               RET
               
               
F7F3   BLOCK   Block move routine

       BLOCK:  CP      3       ;CHECK IF PARAMETER COUNT IS 3
               SCF
               RET     NZ
               CALL    BLOCAD
               LD      A,C
               OR      B
               RET     Z       ;EXIT NOW IF BC=0
               LDIR
               RET

       BLOCAD: EX      DE,HL
               OR      A       ;CLEAR CARRY
               SBC     HL,DE   ;GET DIFFERENCE BETWEEN
               EX      DE,HL   ;HL & DE FOR BYTECOUNT
               PUSH    DE
               PUSH    BC
               POP     DE      ;GET OLD BC INTO DE
               POP     BC
               INC     BC      ;GET COUNT+1 INTO BC
               RET

F7F9   FILL    Memory fill routine
F7FC   TEST    Memory diagnostics
F7FF   GOTO    Execution routine
F802   VERCMD  Memory block compare
               In : ??
               Out: ??



Hope this helps.

Brian
************************************************************************

Thanks again.

The connections we used for the disk drive (SA800/801) are:

Xerox  Floppy  Name
01     NC      -
02     NC      -
03     NC      -
04     20      Index
05     26      Drive Select 1
06     28      Drive Select 2
07     NC      -
08     18      Head Load
09     34      Direction Select
10     36      Step
11     38      Write Data
12     40      Write Gate
13     42      Track 00
14     44      Write Protect
15     46      Read Data
16     NC      -
17     22      Ready
18     NC      -
19     NC      -
20-37  11-49(odd) GND

We are using a separate power supply for the disk, so no power connections
were made from the board to the floppy.

If you are looking for a cheap way to connect to J7, try cutting an IC socket
in half.  I used an 8 pin socket, cut it in half, trimmed it a little, and
hooked up 3 leads to it.  On the two boards here, the HS signal at J7 is 
garbage, so the eventual fix will be to cut the PC trace, and run a wire from
U34 pin 8 to J7.  (Has anyone else had this problem?)

Mail and news got screwed up here last week because of a major filesystem
crash, so if you sent me something and I haven't replied, try me again.
I'd really like to hear if anyone else is making progress on these things.

---
Overall there is a smell of fried onions.  (fnord)

                                 :+: Pat Mancuso
                                 :+: Penn State University
                        Usenet:  :+: ...!psuvax!mancuso
                        Bitnet:  :+: mancuso@psuvax1
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>