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