Re: recursive emulation

2017-01-27 Thread Liam Proven
On 25 January 2017 at 00:19, Jecel Assumpcao Jr.  wrote:
> In the RiscPC era they used actual Intel processors instead of (or was
> it as an alternative to) software emulation.


The Risc PC had a 2nd processor slot. It wasn't able to be a full SMP
machine, but there were options for a 2nd ARM chip (which would have
to be custom programmed), a 3rd party multiprocessor board:

http://chrisacorns.computinghistory.org.uk/32bit_UpgradesH2Z/Simtec_Hydra.html

... Or Acorn's own official "PC card".

http://www.retro-kit.co.uk/page.cfm/content/5x86-Risc-PC-PC-Card/

I actually have 2 or 3 of these, boxed, awaiting restoration of my RiscPC.

The card didn't do much for RISC OS, but allowed a native-CPU-speed PC
emulator app. The card had a real processor, but used
software-emulated I/O -- disks, screen, sound etc. -- so it wasn't
very compatible. It would run MS-DOS, Windows 3 and 95. Win98 very
slowly with significant caveats. Win95 ran in a minimally acceptable
mode, using "MS-DOS disk and file access" -- in other words, dropping
to BIOS calls, as there was no real disk or screen hardware for its
VxDs to address and control.

There is/was a commercial app to use the PC Card's onboard FPU to
accelerate RISC OS FP operations:

http://www.wss.co.uk/products.html#FPEPC

This is only faster on ARM6/ARM7 RiscPCs, though. StrongARM machines
could do faster FP in software.

-- 
Liam Proven • Profile: https://about.me/liamproven
Email: lpro...@cix.co.uk • Google Mail/Talk/Plus: lpro...@gmail.com
Twitter/Facebook/Flickr: lproven • Skype/LinkedIn/AIM/Yahoo: liamproven
UK: +44 7939-087884 • ČR/WhatsApp/Telegram/Signal: +420 702 829 053


Re: recursive emulation (was: IBM 7074 and then some: "Systems we love" conference)

2017-01-27 Thread Liam Proven
On 24 January 2017 at 18:46, Jecel Assumpcao Jr.  wrote:
> This allowed us to figure out that an 8 MHz ARM2 would be able to
> run PC programs at nearly the speed of a 4.77 MHz 8088. Though there
> were much faster PCs at the time, the original configuration was still
> being sold and was popular enough that this would have been considered
> usable.


It was usable enough that Acorn sold a PC Emulator for the Acorn
A305/A310 -- the original, first-series Archimedes with 8MHz ARM2
chips.

E.g.

http://web.archive.org/web/20021213050437/www.maxandanna.pwp.blueyonder.co.uk/pcem.htm

I used it on my A310, in 1988/1989, to do real work in QuickBasic 3.0,
brought home from the office.

It ran at something around 2-3MHz as equivalent to an original 8088
PC, but with a much faster screen and hard disk, so overall
performance was good and quite usable for MS-DOS stuff.

-- 
Liam Proven • Profile: https://about.me/liamproven
Email: lpro...@cix.co.uk • Google Mail/Talk/Plus: lpro...@gmail.com
Twitter/Facebook/Flickr: lproven • Skype/LinkedIn/AIM/Yahoo: liamproven
UK: +44 7939-087884 • ČR/WhatsApp/Telegram/Signal: +420 702 829 053


Re: recursive emulation

2017-01-24 Thread Chuck Guzis
On 01/24/2017 06:13 PM, Eric Smith wrote:

> The 432 chips were sampling in early 1981, and in limited production
> in mid-to-late 1981. (They were never in more than limited
> production.) They weren't $1000 even then.  Your salesman was either
> including the cost of a lot of other components he thought you'd
> need, or was off his meds, or something.

It could have been 1981--I'm a little fuzzy about dates back then.

It could be that Bill Davidow thought that the 432 was a lost cause and
wanted to discourage us--after all he was on our BOD.  But I do recall
the $1K chipset number and how that elicited a gasp.

--Chuck







Re: recursive emulation

2017-01-24 Thread Eric Smith
On Tue, Jan 24, 2017 at 6:59 PM, Chuck Guzis  wrote:

> Admittedly, this was before the 432 was released in any form, but I
> recall "Fast Eddie" our Intel sales guy quoting us about $1K for a
> chipset--this would have been about 1982.   That was expensive in
> anyone's book.
>

The 432 chips were sampling in early 1981, and in limited production in
mid-to-late 1981. (They were never in more than limited production.) They
weren't $1000 even then.  Your salesman was either including the cost of a
lot of other components he thought you'd need, or was off his meds, or
something.


Re: recursive emulation

2017-01-24 Thread Chuck Guzis
On 01/24/2017 05:49 PM, Eric Smith wrote:

> It actually wasn't *that* expensive.  Well, the development system
> was hideously expensive, but the chips weren't.  The General Data
> Processor (GDP, the "main" processor) was two chips, which together
> cost about $100 in modest quantities, and the Interface Processor
> (IP, an I/O channel interface that worked in conjunction with a 8-bit
> or 16-bit microprocessor) was about $50.  While that's a lot more
> expensive than an 8088, it was supposed to be a high-end processor,
> not a low-end processor like the 8088.  It's more appropriate to
> compare it to the early pricing of the 80286 with 80287.

Admittedly, this was before the 432 was released in any form, but I
recall "Fast Eddie" our Intel sales guy quoting us about $1K for a
chipset--this would have been about 1982.   That was expensive in
anyone's book.

--Chuck



Re: recursive emulation

2017-01-24 Thread Eric Smith
On Tue, Jan 24, 2017 at 3:27 PM, Chuck Guzis  wrote:

> Somewhere along the line, Intel's much ballyhooed 432 platform quietly
> sank under the waves (Micro-mainframe).  It was a multi-chip set and
> hideously expensive.
>

It actually wasn't *that* expensive.  Well, the development system was
hideously expensive, but the chips weren't.  The General Data Processor
(GDP, the "main" processor) was two chips, which together cost about $100
in modest quantities, and the Interface Processor (IP, an I/O channel
interface that worked in conjunction with a 8-bit or 16-bit microprocessor)
was about $50.  While that's a lot more expensive than an 8088, it was
supposed to be a high-end processor, not a low-end processor like the
8088.  It's more appropriate to compare it to the early pricing of the
80286 with 80287.

What killed the 432 wasn't that it was expensive, but that it was extremely
slow.  Few people would have wanted it even if Intel sold it for $5.


Re: recursive emulation

2017-01-24 Thread Chuck Guzis
On 01/24/2017 03:05 PM, dwight wrote:
> They might have used the 80188.

Maybe, but the 80188 was even later than the 186.  Given the integrated
peripheral support on the 186, however, it probably wouldn't have
economized much on the support circuitry to use an 8 bit BIU.

--CHuck


Re: recursive emulation

2017-01-24 Thread dwight
They might have used the 80188.

Dwight



From: cctalk  on behalf of Chuck Guzis 

Sent: Tuesday, January 24, 2017 2:27:47 PM
To: General Discussion: On-Topic and Off-Topic Posts
Subject: Re: recursive emulation

On 01/24/2017 01:50 PM, Pete Turnbull wrote:


>> Many people think Intel was stupid to have the 80186 be incompatible
>> with the PC but they forget that this processor was practically finished
>> by the time the PC came out and was launched just a few months later,

We started getting samples of the 186 in 1981.  It was, as you might
imagine, pretty buggy--IIRC, we were getting a new stepping about every
month for a time.  Some of the bugs were really bizarre, such as DMA
clobbering the SI and DI registers during the DMA operation (at the
conclusion, they were restored correctly, which made tracking that one
down very difficult.)

What many people don't realize is that the 80286 development was going
on in parallel with the 80186.  It was even more buggy, as one might
expect, in the pre-release steppings than the 186.

Had IBM had working samples of the 186, I don't doubt for a second that
they would have used it as the CPU of the 5150--the advantages were too
great to ignore--integrated 20-bit DMA, timers, interrupt controller and
programmable chip selects would have certainly gone far toward reducing
the component count on the PC.

Somewhere along the line, Intel's much ballyhooed 432 platform quietly
sank under the waves (Micro-mainframe).  It was a multi-chip set and
hideously expensive.

The 8086 really was a 1970s CPU.

--Chuck



Re: recursive emulation

2017-01-24 Thread Chuck Guzis
On 01/24/2017 01:50 PM, Pete Turnbull wrote:


>> Many people think Intel was stupid to have the 80186 be incompatible
>> with the PC but they forget that this processor was practically finished
>> by the time the PC came out and was launched just a few months later,

We started getting samples of the 186 in 1981.  It was, as you might
imagine, pretty buggy--IIRC, we were getting a new stepping about every
month for a time.  Some of the bugs were really bizarre, such as DMA
clobbering the SI and DI registers during the DMA operation (at the
conclusion, they were restored correctly, which made tracking that one
down very difficult.)

What many people don't realize is that the 80286 development was going
on in parallel with the 80186.  It was even more buggy, as one might
expect, in the pre-release steppings than the 186.

Had IBM had working samples of the 186, I don't doubt for a second that
they would have used it as the CPU of the 5150--the advantages were too
great to ignore--integrated 20-bit DMA, timers, interrupt controller and
programmable chip selects would have certainly gone far toward reducing
the component count on the PC.

Somewhere along the line, Intel's much ballyhooed 432 platform quietly
sank under the waves (Micro-mainframe).  It was a multi-chip set and
hideously expensive.

The 8086 really was a 1970s CPU.

--Chuck



Re: recursive emulation

2017-01-24 Thread Pete Turnbull

On 24/01/2017 22:19, Jecel Assumpcao Jr. wrote:

Pete Turnbull wrote:

Interesting.  You know that Acorn had a software PC emulator for the
Archimedes called PCEmu, on sale in late 1987?



I don't remember if I was aware of this at that time, but it is very
likely and that could have been the inspiration for our project.



In the RiscPC era they used actual Intel processors instead of (or was
it as an alternative to) software emulation.


Instead of.  There were third-part hardware addons using Intel CPUs by 
1989 or thereabouts.



Amusingly, it ran MS-DOS better than  [...] custom MS-DOS on an 80186.



Many people think Intel was stupid to have the 80186 be incompatible
with the PC but they forget that this processor was practically finished
by the time the PC came out and was launched just a few months later,


And it was evidently really meant for embedded applications rather than 
as a CPU for IBM-compatible PCs.


--
Pete
Pete Turnbull


Re: recursive emulation

2017-01-24 Thread Jecel Assumpcao Jr.
Toby Thain wrote:
> On 2017-01-24 2:46 PM, Jecel Assumpcao Jr. wrote:
> >[PC emulator on ARM emulator on PC]
> 
> Was this a JIT emulator (like Apple's later versions of 68K emulation), 
> or a simple interpreter?

It was a simple interpreter. I had been aware of the 1984 JIT
implementation of Smalltalk by Allan Schiffman and L Peter Deutch. The
goal was to test the worst case, however, and that was the interpreter.

Note that the PC emulator was incomplete - it only had enough code to
correctly run the benchmark programs. That made us miss the most serious
bottleneck, which is the correct emulation of all the 8088 flags
(specially the parity flag and the auxiliary flag). I have heard that
Dave Ditzel was looking at emulating the PC on the Sparc at Sun and
figured out that adding a tiny piece of hardware to calculate these
flags would nearly double the performance of the emulator and that this
was one of the inspirations for Transmeta.

Pete Turnbull wrote:
> Interesting.  You know that Acorn had a software PC emulator for the 
> Archimedes called PCEmu, on sale in late 1987?  In 1988 they sold it 
> bundled with an Archimedes A310 (8MHz ARM2, 1MB of RAM) called the A310M 
> (M for MS-DOS).  It ran at just a little less than the speed of a 
> 4.77MHz 8086.

I don't remember if I was aware of this at that time, but it is very
likely and that could have been the inspiration for our project. Note
that we did all our own tools even if Acorn was selling them to their
customers.

In the RiscPC era they used actual Intel processors instead of (or was
it as an alternative to) software emulation.

> Amusingly, it ran MS-DOS better than the then-current 
> Nimbus PC from their arch competitor Research Machines - PCEmu would 
> happily run things like Borland Sidekick, Lotus 1-2-3, Microsoft's 
> Flight Simulator etc where the RM PC often failed because it had a 
> custom MS-DOS running on an 80186.

Many people think Intel was stupid to have the 80186 be incompatible
with the PC but they forget that this processor was practically finished
by the time the PC came out and was launched just a few months later,
which is long before the importance of the PC became obvious. Even with
the 8088 there were plenty of MS-DOS machines that were not PC clones
for about two years before clones became the standard.

-- Jecel


Re: recursive emulation

2017-01-24 Thread Pete Turnbull

On 24/01/2017 16:46, Jecel Assumpcao Jr. wrote:

In 1988 I designed an ARM2 based computer (my Merlin 4, which was only
built in 1992 when the ARM2 was already obsolete) and wondered if it
could emulate a PC fast enough to be usable. I had written an ARM
assembler and a friend did an ARM emulator running in QNX on the PC, so
we wrote an 8088 emulator in ARM assembly. We then ran some simple 8088
programs on the PC emulator running on the ARM emulator running on the
PC. This allowed us to figure out that an 8 MHz ARM2 would be able to
run PC programs at nearly the speed of a 4.77 MHz 8088.


Interesting.  You know that Acorn had a software PC emulator for the 
Archimedes called PCEmu, on sale in late 1987?  In 1988 they sold it 
bundled with an Archimedes A310 (8MHz ARM2, 1MB of RAM) called the A310M 
(M for MS-DOS).  It ran at just a little less than the speed of a 
4.77MHz 8086.  Amusingly, it ran MS-DOS better than the then-current 
Nimbus PC from their arch competitor Research Machines - PCEmu would 
happily run things like Borland Sidekick, Lotus 1-2-3, Microsoft's 
Flight Simulator etc where the RM PC often failed because it had a 
custom MS-DOS running on an 80186.


--
Pete
Pete Turnbull


Re: recursive emulation (was: IBM 7074 and then some: "Systems we love" conference)

2017-01-24 Thread Paul Koning
> Chuck Guzis asked on Mon, 23 Jan 2017 22:00:15 -0800
>> Is there a "recursive" emulator setup wherein one machine emulates
>> another one...where the final emulation is for the original hardware?

An example where that could be useful is in validating an emulation.  I did 
that recently: running an EL-X8 emulation implemented in ALGOL (by Dick Gruene) 
on an EL-X8 emulation in SIMH.  Run the test program that comes with it both on 
the nested emulation, and "standalone" on the outer emulation.  Compare the 
outputs from the two runs, and fix or justify any differences.  It helped 
significantly, especially because the inner emulation came with a bunch of 
important details about strange machine quirks.

paul



Re: recursive emulation

2017-01-24 Thread Toby Thain

On 2017-01-24 2:46 PM, Jecel Assumpcao Jr. wrote:

Chuck Guzis asked on Mon, 23 Jan 2017 22:00:15 -0800

Is there a "recursive" emulator setup wherein one machine emulates
another one...where the final emulation is for the original hardware?


In 1988 I designed an ARM2 based computer (my Merlin 4, which was only
built in 1992 when the ARM2 was already obsolete) and wondered if it
could emulate a PC fast enough to be usable. I had written an ARM
assembler and a friend did an ARM emulator running in QNX on the PC, so
we wrote an 8088 emulator in ARM assembly. We then ran some simple 8088
programs on the PC emulator running on the ARM emulator running on the
PC. This allowed us to figure out that an 8 MHz ARM2 would be able to
run PC programs at nearly the speed of a 4.77 MHz 8088.


Was this a JIT emulator (like Apple's later versions of 68K emulation), 
or a simple interpreter?


--Toby


> Though there

were much faster PCs at the time, the original configuration was still
being sold and was popular enough that this would have been considered
usable. It was not enough to convince my partner, however, which is why
the machine was not finished in 1988.

-- Jecel