All:
This problem has been beating me up all day so I wanted to throw
it out to the group for ideas.
In my 8800b, I have a Vector Graphics Bit Streamer serial board
(8251 chip) set for standard ports (0/1 parallel, 2 serial data, 3
serial command/status). I modified the Turnkey Monitor to use the ports
based on the VG instruction manual. The manual outlines initialization
and moving characters in and out. Works perfectly.
Now, I want to get standard Microsoft BASIC paper tapes (8k or
Extended 4.0) working with this board. However, when I look at the sense
switch options, none fit using the Bit Streamer -- the parallel ports
are swapped with the serial ports in the order, and the data port comes
before the status port (all basically the opposite of what BASIC
expects). I also can't seem to find a toggle loader that works properly.
So, I decided to pull out a Solid State Music 2p/2s board and
try to configure it to work with BASIC. I spent the better part of a day
trying different options with no success. Based on some basic testing of
the board I believe it works.
Has anyone configured an SSM board to successfully work with
Microsoft Tape BASIC? What loader did you use? How about getting a
standard VG Bit Streamer working with standard MS Basic?
As an aside, I'm using Procomm from DOS on an old PC. Can one
use the "ASCII Upload" option to move the tape image over the line or
should I do something from DOS like "copy 8kbas40.tap com1:"?
Thanks.
Rich
Rich Cini
Collector of classic computers
Build Master for the Altair32 Emulation Project
Web site: http://highgate.comm.sfu.ca/~rcini/classiccmp/
/************************************************************/
On Fri, 29 Jul 2005 "Jerome H. Fine" <jhfinexgs2 at compsys.to> wrote:
> >Sean 'Captain Napalm' Conner wrote:
>
> >It was thus said that the Great Jerome H. Fine once stated:
> >
> >
> >>By the way, are there any standard algorithms for the
> >>4 basic operations (add, subtract, multiply and divide)
> >>for 128 bit numbers which are composed of 8 * 16 bit
> >>words? As per your suggestion, I would probably use:
> >>CHARACTER * 16 ARRAY ( nnn )
> >>
> >What language? In assembly addition and subtraction are pretty trivial if
> >you have a carry bit you can use (not all RISC based CPUs have a carry bit).
> >Just make sure you keep track of endian issues (given an array A[n] is A[0]
> >the Most Significant or Least Significant word?).
> >[Snip]
> >
> Jerome Fine replies:
>
> While the logic will probably be in FORTRAN 77 under RT-11
> on an emulated PDP-11, I might actually check that it all works
> on a real PDP-11. However, since FORTRAN 77 is rather nasty
> using more than 32 bit integers, I will probably code the routines
> in MACRO-11 for 64/128 bit add and compare after I first write
> the program for 32 bit integers which can calculate up to 2 billion.
I've already posted code for how to do arbitrary size additions in
FORTRAN-77 on the PDP-11. Substraction is very straight forward the same
deal. Multiplication and division follows the same line as well. Nothing
difficult at all, really.
> As for endian issues, I can define the most significant word to be
> at either end, but I tend to think that I will place the most significant
> at the high end of the word since this allows FORTRAN 77 to use
> octal to output the value correctly with 64 bit floating point values.
??? Not sure what you actually say here. Floating point values hardly have
anything to do with this. Pick whatever byte order you want, and stick
with it. Output is something you'll have to figure out anyway, and you
deal with any byte order you decided on then. Either way is not that
difficult. However, I'd recommend using little-endian, since that is the
"natural" order of the PDP-11, and F77 on the machine. That means you can
let it deal with 16-bit quantities natively without having to to byte
swapping.
> > A B C D
> > W X Y Z
> > ---------------------
> > AZ BZ CZ DZ
> > AY BY CY DY
> > AX BX CX DX
> > AW BW CW DW
> >
> >(and don't forget the carries!) One trick you might want to try is to take
> >advantage of the fact that these are binary values so multiplication becomes
> >shifts and adds but with larger values like these, doing the multibyte
> >rotates may not be as effective as using the actual MUL instructions.
> >
> For the PDP-11, I tend to understand that MUL is only for signed
> 16 bit numbers, so I don't think MUL can be useful with unsigned
> values which are required for a 64 bit multiple as per the above
> example.
>
> CAN SOMEONE PLEASE CORRECT ME IF I AM WRONG???
Yes, the MUL instruction sign adjust the 32-bit result, based on the two
16-bit input values. However, who cares?
You can get FORTRAN-77 to do unsigned 16 bit multiplication by just
grabbing the 16 bit value, and move it (unsigned) into a 32-bit variable,
do the multiplication, and you'll get an unsigned result back, in
combination with the carry into the next word (when split into two 16-bit
values again).
> That said, in MACRO-11, it should not be too difficult to do multiple shift
> and add operations. However, maybe someone already had some code
> handy?
Someone probably have, yes. But it is still *very* easy.
No more than a days work. If you pay me, I'll throw the code together for
you.
> > Division is nasty, but again, works like long division.
> >[Snip]
> > I have some C code that does some of this---one is a C implementation of a
> >techique Woz used in calculating e to 100,000 digits (as described in Byte
> >magazine of either Dec 1980 or Dec 1981) and another one that does division
> >in C, if you are interested.
> >
> I am interested!!!!!!!
Do it just like you do on paper. Deal with 16 bits at a time, stuffed into
32-bit variables. Sign will be preserved, overflow dealt with, and
everything works out just fine.
Johnny
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
On Fri, 29 Jul 2005 "Jerome H. Fine" <jhfinexgs2 at compsys.to> wrote:
> >Sean 'Captain Napalm' Conner wrote:
>
> >>It was thus said that the Great Jerome H. Fine once stated:
> >
> >>For the PDP-11, I tend to understand that MUL is only for signed
> >>16 bit numbers, so I don't think MUL can be useful with unsigned
> >>values which are required for a 64 bit multiple as per the above
> >>example.
> >>
> >>CAN SOMEONE PLEASE CORRECT ME IF I AM WRONG???
> >>
> >Easy enough method---just multiply the absolute values and record the
> >signs prior to multiplication, then reset the sign afterwards to the correct
> >value.
> >
> That is too easy a solution - anything a bit more difficult?
>
> More seriously, if I am using all 16 bits as unsigned integers, then
> the high order bit can't be easily eliminated.
True. And if you don't use all 16 bits, then the MUL instruction deals
with the sign itself anyway, so there is no need to take absolute values
and so on either... In short, a good suggestion in theory, but one that
don't work in real life.
But of course you still haven't reflected on the fact that in FORTRAN-77
you can do 32-bit integer multiplication already...
> Of course another
> method is to keep all the values below 10,000 decimal which
> can then allow me to use FORTRAN much more easily. But
> I really prefer to use the full 64 bits.
What 64 bits??? Native integers are 16 bits. You also happen to have
32-bit integers in FORTRAN, but there aren't any 64-bit integers. You have
64-bit entities for REAL*8, but they don't hold 64 bits of mantissa, apart
>from the rounding errors always expose yourself to when using FP.
> On the other hand, if I
> use the sieve method to find the primes, I don't need either
> multiplication or division, just 64 bit adding and 64 bit compares,
> probably increments by 2 and 4 and of course conversion of
> 64 bit values to decimal output. The last can also be done by
> repeated subtraction of powers of 10, so again no division.
Why use the sieve? Unless you have lots of memory, and are trying to list
every prime you can find, it's pretty inefficient. And you don't have lots
of memory in a PDP-11. Assuming you represent every odd number with one
bit (no need for the even ones), and assuming that you can stuff an array
of 50Kbytes, that will still only give you primes less than 400.000.
Absolutely no problem representing that in a 32-bit integer.
I'd go for a simple factorization instead, if you want to search for
larger primes. And then you need division and remainder.
Johnny
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at update.uu.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Hi
For those that are interested in such things, they
have found a formula to calculate any digits of
PI. The only problem seems to be that it can only
do this for the Hexadecimal digits and not the
decimal digits. They are still looking for an equation
that will do it for decimal digits.
This can be used to verify ones PI calculations.
I saw the formula in a Science News about 2 years ago.
Dwight
Sorry, but I need in a hurry 1-2 hard drive chassis for my Data General
Aviion 3700 server. It's a quad P-III Xeon with 1GB main memory and RAID:
pretty bad-ass server basically. I'm trying to get it up and running to
replace the venerable VCF web server (a late 1990s era P-PRO) so I can
finally get some new services installed (and hopefully to start hosting
mirrors of different archives).
The drive chassis are specific to this Aviion server. They hold 3.5" hard
drives...Seagate types where LC are the last two letters of the part
number, e.g. ST39102LC. I guess I could use a drive also. I have three
installed and want to configure them in a RAID 5 arrangement but am having
trouble making it work with SuSE Linux (9.3). So I'm thinking to add a
4th drive to make as the boot/OS drive.
I guess as a way off-topic side question, does anyone know how to properly
configure a RAID 5 in Linux so that I can also boot from it? Everything
I've read so far in Google is way outdated.
Checked on eBay for the parts (which is why I found all that keen DG stuff
I posted) but nothing's come up so far :(
Please respond directly to me so the list doesn't get cluttered with
this crap.
Thanks!
--
Sellam Ismail Vintage Computer Festival
------------------------------------------------------------------------------
International Man of Intrigue and Danger http://www.vintage.org
[ Old computing resources for business || Buy/Sell/Trade Vintage Computers ]
[ and academia at www.VintageTech.com || at http://marketplace.vintage.org ]