1
0
mirror of https://github.com/prirun/p50em.git synced 2026-02-04 15:13:14 +00:00
Commit Graph

183 Commits

Author SHA1 Message Date
Jim
1624437939 em: move #define to force inline to start of code 2020-03-09 22:36:26 -04:00
Jim
364792c169 Remove stopwatch-related calls and stopwatch.h stub 2020-03-09 22:30:09 -04:00
Jim
4a6a3aff5d em: add macro to force gcc to obey inline keyword
History: when the emulator was first developed on OSX 10.4 (PowerPC),
the inline keyword was added by profiling with Apple's pretty
fantastic Shark profiler.  Apple's version of gcc had an -fobey-inline
switch that the makefile used to force gcc to obey the inline keyword.
This macro does the same thing
2020-03-09 01:12:45 -04:00
Jim
9054d69446 em.c, etc: use gv.xxx instead of gvp->xxx for 13% speed increase, from
37.5 Prime MIPS on Linode VM to 42.5 MIPS.  gvp-> was faster on the
PowerPC architecture when gvp was kept in a dedicated register, but
that does not apply to Intel.

Old:

Timing CPU,  20.0 ticks per second...
  35.3 Prime MIPS for 16-bit ADD loop
  40.0 Prime MIPS for 16-bit MPY loop
  42.1 Prime MIPS for 16-bit DIV loop
  21.4 Prime MIPS for 32-bit ADD loop
  30.8 Prime MIPS for 32-bit MPY loop
  28.6 Prime MIPS for 32-bit DIV loop
  57.1 Prime MIPS for 16-bit X=0 loop
  44.4 Prime MIPS for 32-bit X=0 loop
  37.5 average Prime MIPS

New:

Timing CPU,  20.0 ticks per second...
  42.9 Prime MIPS for 16-bit ADD loop
  53.3 Prime MIPS for 16-bit MPY loop
  47.1 Prime MIPS for 16-bit DIV loop
  24.0 Prime MIPS for 32-bit ADD loop
  38.1 Prime MIPS for 32-bit MPY loop
  32.0 Prime MIPS for 32-bit DIV loop
  57.1 Prime MIPS for 16-bit X=0 loop
  44.4 Prime MIPS for 32-bit X=0 loop
  42.4 average Prime MIPS
2020-03-08 23:46:14 -04:00
Jim
c18704894f merge -naddr changes 2020-03-01 22:06:56 -05:00
Jim
73d2479dba em: comment cleanups 2020-03-01 22:02:47 -05:00
Dennis Boone
83f130aba5 devpnc.h: use global bindaddr variable instead of hardcoded INADDR_ANY.
em.c: command line option -naddr to set bind address for pnc socket.
2020-03-01 04:35:23 +00:00
Jim
9de65ca516 em: decode keys and modals in fatal error message 2020-02-25 20:11:15 -05:00
Jim
00205c830b add lights (Dennis) 2020-02-25 14:15:03 -05: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
4061b6adc9 Changes to allow emulator to run on Linux for hosting at Linode 2019-09-25 10:56:48 -04:00
Jim
5bf0eb8362 typo 2019-07-04 11:53:04 -04:00
Jim
233ef630d4 Don't install signals with dedicated registers 2012-07-24 15:41:56 -04:00
Jim
371c051d16 em: save pid and boot file inode for security checks 2012-07-18 23:56:49 -04:00
Jim
441a3f5845 Updates after testing on PPC G4 Tiger machine (makefile changes), and
tighten secure.h a bit
2012-07-09 22:13:25 -04:00
Jim
75a4b59312 em: don't use localhost if license server DNS fails; update copyright 2012-07-02 17:15:42 -04:00
Jim
2b0bb15902 em: if instpermsec starts at 15000, CPU.TIMER.SAVE diag fails in case 4 2012-06-09 17:55:54 -04:00
Jim
e60628f2d1 Fix trace format 2011-12-14 16:50:54 -05:00
Jim
4c2594beb4 Change long to int for instruction counts 2011-12-04 11:01:14 -05:00
Jim
f1a7e6f501 -cpuid takes model numbers too, STPM stores emulator version 2011-11-24 00:10:12 -05:00
Jim
dc24f26eb1 Use registers on PPC for demo/production build, don't install sigquit,
don't use async I/O for PNC.  Signals don't work with registers enabled.
2011-11-23 15:07:45 -05:00
Jim
ad35ffb6f7 Fixed SSSN byte-swap problem 2011-11-18 15:06:47 -05:00
Jim
d30cef0848 Add -mmacosx-version-min=10.4 to PPC builds; fix trace printf's 2011-11-15 18:28:41 -05:00
Jim
83e05663cb - Replace HOBBY #ifdef with DEMO,
- Remove long integers so x86_64, where long is 8 bytes, is like i686
compile, where long is 4 bytes.
- Dont' handle xon/xoff on sys console in full duplex
- Add geom hash for DEMO emulator
- Add -mmacosx-version-min=10.4 option for DEMO emulator
- Add 1-line AMLC and 2-node PNC to DEMO emulator
2011-11-15 14:01:58 -05:00
Jim
7b2ea3828b Don't print memory contents on a fatal error. Diag CPU.TIMER causes a
fatal error in get16trap, and printing the memory contents causes a
nested fatal error.
2011-10-24 22:59:04 -04:00
Jim
5ae86cca58 bs: fix major bug in get64r: plp jimmy>date_af would fail, l command
(ld -packed -sort_name) would fail after running jimmy>lines>lines.run
2011-10-24 16:47:10 -04:00
Jim
d829b0efd9 Hey, it runs Primos again! This time on Intel. :) 2011-10-21 18:55:43 -04: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
7075729d8c lrs: don't try to shift 32 bits: works on PPC, fails on Intel 2011-10-20 09:42:33 -04:00
Jim
ff791c1b9c Remove bogus var from ea64v.h, add quit handler to flush trace buffers 2011-10-19 11:02:23 -04:00
Jim
ec9496ec75 bs: change add32 to a function, use get/put in callers 2011-10-18 10:43:00 -04:00
Jim
3ed4d26624 bs: change tch and tcr to functions, change callers to use get/put 2011-10-17 22:45:33 -04:00
Jim
f77c58a69b bs: remove remaining crs[] references: BI/DX/Y, I/DRX, ... 2011-10-17 22:39:30 -04:00
Jim
8b5d47c733 bs: change add16 to a function, change all callers to use get/put 2011-10-17 22:30:28 -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
7b150eed02 bs: replace pmep C pointer with Prime physical address 2011-10-17 15:15:35 -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
69a37aef55 Remove crs[] and crsl[] references in trace output, add vfy target to
makefile to allow comparing emulator binaries
2011-10-17 10:53:12 -04:00
Jim
aad6c9f94c Don't delay on first BDX * to avoid Prime bug in SCHED.PMA causing
backstop process to delay on the first cycle
2011-10-11 17:39:32 -04:00
Jim
77ee732144 Changes to get rev 18 to boot 2011-10-01 22:42:59 -04:00
Jim
ff48e0c07a fatal: display message on nested call 2011-09-17 12:00:56 -04:00
Jim
88d7a3fba6 Add a way for device to be polled when CPU is idle. Maybe this can be used
to interleave user processes with device & DIM processes, for example, during
a file upload.
2011-09-05 16:20:26 -04:00
Jim
5d43e41c12 Revert #139 (eafa); emacs, esc75* inserted garbage, not 75 *'s 2011-08-31 12:46:53 -04:00
Jim
6b8abd3a8b Use current hg rev when building 2011-08-18 20:58:18 -04:00
Jim
aba2688490 Don't enable tsrc$$ trace hack whenever tracing is enabled. 2011-08-18 14:07:23 -04:00
Jim
05251fbcce Allow tracing 3-digit user numbers vs 2. System processes sometimes
have high user numbers.
2011-08-18 13:35:33 -04:00
Jim
459873ff90 Add stlb/iotlb trace option "tlb", set T_EAS when requested 2011-08-18 13:17:54 -04:00
Jim
2ef1438900 Updated some comments. Still some confusion about PTLB re: IOTLB. 2011-08-18 10:10:28 -04:00