RE: S/360 emulation in PC/370

25 Aufrufe
Direkt zur ersten ungelesenen Nachricht

d...@higgins.net

ungelesen,
19.12.2020, 10:13:2119.12.20
an z390, IBM Mainframe Assembler List

All

 

Back in 1980-1981 I wrote PC/370 first in z80 assembler and then ported it to 8086/8087 in 1995.  The last shareware release was in 1989 and then I sold all rights to Micro Focus in 1993 before I went to work for them as system software engineer for 9 years before retiring.  PC/370 ran on MSDOS and included 360 assembler, linker, and emulator.  The coding was relatively easy in z80 because both architectures were byte oriented.  As for I/O, I did not depend on SIO and CCW’s.  Since it ran under MSDOS, I just used user SVC’s to route I/O between host I/O and 360 svcs.

 

Here is link to PC/370 up to z390 history:

 

http://donhiggins.org/pc370.htm

 

Don Higgins

d...@higgins.net

www.donhiggins.org

 

From: z3...@googlegroups.com <z3...@googlegroups.com> On Behalf Of Peter Lund
Sent: Saturday, December 19, 2020 7:25 AM
To: dave....@gmail.com
Cc: z390 <z3...@googlegroups.com>
Subject: Re: S/360 disassembler -- not that hard

 

 

 

On Sat, Dec 19, 2020 at 1:10 PM <dave....@gmail.com> wrote:

Peter,

I would say the 360 CPU is straight forward to emulate.


Yep, that is my impression, too.  And much easier, in many respects, than a Z80 or a 6502.  They both had undocumented instructions and the Z80 had 2 undocumented flags.  To make it even more fun, it has a single instruction that lets 2 bits of an undocumented internal register bleed through to the those flags.  And in order to be truly useful in a typical machine emulator, the CPU emulator would have to be cycle accurate and generate wait states correctly and what not.  Typical emulated machines also had fun things like bus contention leading to slightly slower execution for some addresses (at some periods, relating to the TV output) or bytes being misread from the data bus.  Or they might have had a CPU and certain peripherals operating at different frequencies with all the fun that entails.

The S/360 is much cleaner, because I don't have to implement a specific model with all its quirks.  I can implement it in the pristine, idealized form.
 

What might be more challenging is the IO.


Yep.  But mostly because the entire concept is so alien, or at least is *presented* in such an alien way.  It really isn't all that different from the way a modern NIC, disk, or GPU works.
 

The Hercules approach is to basically treat each device as if its on its own channel, so it never returns channel busy.


And I'll likely do the same.  I want this emulator to be simple, so it won't emulate more hardware than strictly necessary.
 

You might find this useful:-

 

https://github.com/s390guy/SATK


Almost certainly, yes.  Thanks!

-Peter

--
You received this message because you are subscribed to the Google Groups "z390" group.
To unsubscribe from this group and stop receiving emails from it, send an email to z390+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/z390/CAMV2NWVSP8x0PpMp87FrcKEXo-fn9Dg3_ce58CAQQZawt%3DQpjA%40mail.gmail.com.

Allen antworten
Antwort an Autor
Weiterleiten
0 neue Nachrichten