1
0
mirror of https://github.com/prirun/p50em.git synced 2026-04-04 20:27:59 +00:00

Add emulation of MDLC/HSSMLC controller to support Bisync protocol and enable a Prime

system to operate as a HASP station in an RJE environment. This implementation is
compatible with Bisync/HASP emulation in the Hercules IBM mainframe emulator and the
DtCyber CDC mainframe emulator.
This commit is contained in:
Kevin Jordan
2020-05-29 12:53:58 -04:00
parent 30da390699
commit 91bddd02c3
4 changed files with 1234 additions and 3 deletions

1226
devsmlc.h Normal file

File diff suppressed because it is too large Load Diff

7
em.c
View File

@@ -1710,6 +1710,8 @@ static int devpoll[64] = {0};
'35 = devamlc: 4th AMLC (16 lines)
'45 = devdisk: 7th disk controller (8 drives)
'46 = devdisk: 8th disk controller (8 drives)
'50 = devsmlc: 1st HSSMLC/MDLC (4 lines)
'51 = devsmlc: 2nd HSSMLC/MDLC (4 lines)
'52 = devamlc: 3rd AMLC (16 lines)
'53 = devamlc: 2nd AMLC (16 lines)
'54 = devamlc: 1st AMLC (16 lines)
@@ -1721,7 +1723,7 @@ static int (*devmap[64])(int, int, int) = {
/* '2x */ devcp,devnone,devdisk,devdisk,devdisk,devdisk,devdisk,devdisk,
/* '3x */ devnone,devnone,devamlc,devnone,devnone,devamlc,devnone,devnone,
/* '4x */ devnone,devnone,devnone,devnone,devnone,devdisk,devdisk,devnone,
/* '5x */ devnone,devnone,devamlc,devamlc,devamlc,devnone,devnone,devnone,
/* '5x */ devsmlc,devsmlc,devamlc,devamlc,devamlc,devnone,devnone,devnone,
/* '6x */ devnone,devnone,devnone,devnone,devnone,devnone,devnone,devnone,
/* '7x */ devnone,devnone,devnone,devnone,devnone,devnone,devnone,devnone};
@@ -1735,6 +1737,7 @@ static int (*devmap[64])(int, int, int) = {
'20 = devcp: clock / VCP / SOC
'26 = devdisk: 1st disk controller (8 drives)
'27 = devdisk: 2nd disk controller (8 drives)
'50 = devsmlc: 1st HSSMLC/MDLC (4 lines)
'54 = 1st amlc (terminal) controller (16 lines)
'53 = devamlc: 2nd AMLC (16 lines)
*/
@@ -1745,7 +1748,7 @@ static int (*devmap[64])(int, int, int) = {
/* '2x */ devcp,devnone,devnone,devnone,devnone,devnone,devdisk,devdisk,
/* '3x */ devnone,devnone,devnone,devnone,devnone,devnone,devnone,devnone,
/* '4x */ devnone,devnone,devnone,devnone,devnone,devnone,devnone,devnone,
/* '5x */ devnone,devnone,devnone,devamlc,devamlc,devnone,devnone,devnone,
/* '5x */ devsmlc,devnone,devnone,devamlc,devamlc,devnone,devnone,devnone,
/* '6x */ devnone,devnone,devnone,devnone,devnone,devnone,devnone,devnone,
/* '7x */ devnone,devnone,devnone,devnone,devnone,devnone,devnone,devnone};
#endif

View File

@@ -2223,3 +2223,5 @@ int devdisk (int class, int func, int device) {
#include "devpnc.h"
#include "devamlc.h"
#include "devsmlc.h"

View File

@@ -6,7 +6,7 @@ REV=${shell [ -d .hg ] && hg id -n || git rev-parse --short HEAD}
em: # normal
rm -rf em.o
cc -DREV=\"${REV}\" -DNOTRACE -DFAST -DNOMEM -O -Winline em.c -o em
cc -DREV=\"${REV}\" -DNOTRACE -DFAST -DNOMEM -O -Winline -Wno-error=return-type em.c -o em
emwarn: # lots of compiler warnings
rm -rf em.o