1
0
mirror of https://github.com/prirun/p50em.git synced 2026-01-11 23:42:56 +00:00

25 Commits

Author SHA1 Message Date
Dennis Boone
43d2d863d7 Replace tabs with spaces
Mixed tabs/spaces gets hairy.  I've expanded the tabs on the basis
of 8-position tabstops.
2020-05-30 01:42:39 -04:00
Jim
a4cc429fad Linux cleanup to remove demo/dongle code, remove PowerPC stuff, fix slow PNC I/O, fix a nasty devmt bug 2020-02-24 23:55:03 -05:00
Jim
f1a7e6f501 -cpuid takes model numbers too, STPM stores emulator version 2011-11-24 00:10:12 -05:00
Jim
53893d85ae bs: more changes, functions for symbolic register access, incl DMX 2011-10-20 17:23:15 -04:00
Jim
e43a2167f0 bs: flt.pt. fixes, fix ecb copy in PCL 2011-10-20 10:44:04 -04:00
Jim
fa097d21fc BS rvec, memory accesses; order of RPH/RPL is byte-order dependent,
fix bug in get32 when -DFAST isn't used
2011-10-17 22:14:55 -04:00
Jim
5790718ed7 Add swap calls to get/put functions & macros, add tracei target for Intel 2011-10-17 15:06:55 -04:00
Jim
2a89fb6ab8 First set of byte-swap changes; should compile equal to version 194 2011-10-17 10:53:58 -04:00
Jim
afdf6057b1 FP exceptions, -DNOREG for -O0 and -DBG compiles, perf tweaks, gcov
reworked ring/register fix so that Primos nevers sees RP faulted
  but we don't have to do extra tests in the fetch loop
changed EAxxx routines to use RP segno when EA = register
added FP exception fault to ieeepr8 and all FP routines
added round flag to ieeepr8 (though not sure it's rounding correctly)
used gcov info to reorder some stuff in ea16s, ea32s, ea32r64r
changed warn() and fatal() to use get16t; prevpc might be a register
IMPORTANT NOTE: to compile with -O0, also use -DNOREG (gcc bug)
2007-10-12 00:00:00 -04:00
Jim
0948124f29 added "# of register sets" array, enabled multi-register set code ("ors") +
moved dispatch tables to global variable structure
2007-09-12 00:00:00 -04:00
Jim
fdb4d4ae4c New ea64v, missing memory check, #ifdef FAST 2007-09-02 00:00:00 -04:00
Jim
62b8229961 gvp dedicated global variable register, iget16 page cache 2007-08-31 00:00:00 -04:00
Jim
7601dcb718 INCRP, ADDRP macros, code optimization
added INCRP macro - now does 32-bit increments of RP for speed
added ADDRP macro to return RP incremented by n (CGT)
changed globals to static (didn't help speed much - thought it might)
moved around some functions
changed shift instructions to create bitmask at runtime (faster)
manually inlined mathexception (but used inline keyword in later revs)
2007-08-25 00:00:00 -04:00
Jim
8c0020d0dd get/put16t, crs/crsl macro, PowerPC register variables, tape bugs
changed get16/put16 to get16t/put16t where address trap might occur
this eliminates ea<0 test for all other non-trappable get16/put16 calls
changed crs & crsl to macros to reference a union vs 2 distinct variables
changed crs and RP to be register variables (regs.h)
fixed tape drive problems
2007-08-23 00:00:00 -04:00
Jim
55ea18c85e register sets, PX, ZTRN, ZED, RTS, I-mode FP, R-mode MPL
added "smart" LRU code to handle multiple register sets
expanded registers to handle 8 user, 2 system (10 total)
turned off various process-exchange changes that were causing failures
only zero first 64K of memory
added emulation of ZTRN, ZED, and RTS
started I-mode floating point
make sure R-mode MPL faults to appease DIAG tests
2007-05-26 00:00:00 -04:00
Jim
edc9b077f3 IOTLB & mapio, FP register format, SVC
added IOTLB, mapio, and get/put16io macros so rev23 would boot
changed device drivers to go through IOTLB, not STLB
removed SVC Primos II emulation code
changed floating point register format to match memory
2007-05-08 00:00:00 -04:00
Jim
319b868345 added ea32i.h include file, ea64v, devamlc, PNC
ea64v never needs to return a bit offset
added devamlc feature to set room available in user's input buffer
misc PNC changes (not working yet)
2007-04-19 00:00:00 -04:00
Jim
f9d4f6f3bb trace improvements, PCL indirect bit offset bug (SAC odd char bug) +
added T_TERM for system terminal output tracing
added specific user tracing:
- 2-digit number after trace (user number)
- 6-digit octal number = OWNERL (for devices)
added specific procedure tracing
major bug in PCL: indirect bit offsets not working,
  causing SAC JIM:PDALURW to be SAC JIM:PAUW
2007-03-01 00:00:00 -05:00
Jim
09b9592915 WAIT register save shouldn't save all registers like PX does +
need to restore interval timer when new process dispatched
process level was incorrect when new process dispatched
changes setting process abort flag in PCB when timer overflows
2005-09-19 00:00:00 -04:00
Jim
5ab1209f0a INCVA macro for segment wraparound, PX work, added --cpuid option 2005-06-16 00:00:00 -04:00
Jim
997332c487 first implementation of process exchange, WAIT, NFY +
added restricted instruction checking
added CALF
more PCL work
2005-06-13 00:00:00 -04:00
Jim
7f433b9b27 implemented ARGT for interruptable PCL, more work on PCL 2005-06-11 00:00:00 -04:00
Jim
22f4c22f8f virtual address translation, fault handling code +
tracing for address translation, disk I/O, and PCL
field address, field length, and load/store character instructions
queue instructions
more work on setting C & L bits correctly
2005-06-07 00:00:00 -04:00
Jim
3763da4cbe added live register access to memory get/put functions
added live register access flag to effective address calculations
first attempt at complete 64V address calculation
first RSAV/RRST, STAC/STLC, LPSW, LDLR/STLR, EIO
more shift instruction work
2005-05-24 00:00:00 -04:00
Jim
efc25712b5 defined register file with regs.h
began using (get,put)16/32/64 functions to access memory instead of mem[]
began using crs[] to access current registers instead of mem[]
2005-05-23 00:00:00 -04:00