1
0
mirror of https://github.com/prirun/p50em.git synced 2026-01-30 21:16:35 +00:00
Commit Graph

296 Commits

Author SHA1 Message Date
Jim Wilcoxson
1816d42238 Update devpnc.h
Remove extra %d in format string
2020-04-12 14:49:44 -04:00
Dennis Boone
087fd30e83 Make sure stderr is still unbuffered after the reopen. This is
likely unnecessary, but belt.  Suspenders.
2020-04-12 12:56:24 -04:00
Dennis Boone
527611669b Convert strcpy() calls to strncpy().
Raise the size of the symbol name variable.
2020-04-11 12:51:44 -04:00
Dennis Boone
345c4d7ecc Fiddling with language. 2020-04-10 11:52:04 -04:00
Dennis Boone
67a7dcf02b Clean up text wrap. 2020-04-09 00:02:26 -04:00
Dennis Boone
09c6b73f56 New dist tapes. Note man page in emu doco section.
Link to four distribution tape sets on sysovl.
In the emulator doco paragraph, mention the man page.
Hacked on line wrap until I decided it was better to do it in vi.
2020-04-09 00:01:12 -04:00
Dennis Boone
4b7818dbb9 V5 of the samples. 2020-03-24 14:48:42 -04:00
Jim Wilcoxson
535093160c Update README.md
Typo
2020-03-24 11:01:32 -04:00
Dennis Boone
be5f6279e3 Restructure sample image explanation text. 2020-03-23 14:57:35 -04:00
Dennis Boone
7c8d4dffae v4 of sample images 2020-03-23 14:48:20 -04:00
Dennis Boone
ba921ada90 Startup support for Mac OS X. 2020-03-20 20:57:34 -04:00
Dennis Boone
30da390699 Typo 2020-03-18 19:48:05 -04:00
Dennis Boone
f8a9d38b89 V3 of the samples.
Enhanced wrapper scripts.  Rebuild disk image files with more paging and more space.
2020-03-18 19:46:30 -04:00
Dennis Boone
97264de159 Units error.
The significant digits are correct, but the decimal point is misplaced.
2020-03-18 17:12:50 -04:00
Jim Wilcoxson
8ecdefb86d Update ring.cfg uid/password description 2020-03-14 22:13:05 -04:00
Dennis Boone
fcd31d3f17 Updates and corrections from Jim. 2020-03-14 14:14:16 -04:00
Dennis Boone
d38fe8b39d Enhancements and fixes to man page. 2020-03-14 03:08:50 -04:00
Dennis Boone
8dfbc42054 Trailing garbage I missed. 2020-03-14 02:37:02 -04:00
Dennis Boone
ba1b296348 Man page for em. 2020-03-14 02:28:34 -04:00
Jim Wilcoxson's Prime 50-Series emulator
f3b55535e4 v2 of sample images tarball. 2020-03-12 15:21:11 -04:00
Jim Wilcoxson's Prime 50-Series emulator
fc6e1fc97c Sample system images. 2020-03-12 01:35:22 -04:00
Jim Wilcoxson's Prime 50-Series emulator
5821eb19ff Typo, extensions to readme.
Add link to repacked 22.1.4 tapes.  Note location of PRIMOS install instructions.
2020-03-11 21:07:43 -04:00
Dennis Boone
fd84f03167 Corrections from Jim. 2020-03-11 02:04:42 +00:00
Dennis Boone
7c3c71e147 Add all utilities to gitignore.
Make rev stamp work for either hg or git repos.
Automate more utility building with makefile changes.
2020-03-11 00:01:49 +00:00
Dennis Boone
aaba33931c Add hg/git ignore files. 2020-03-10 23:36:47 +00:00
Jim
87705809db merge 2020-03-10 15:10:12 -04:00
Jim
2575313ca7 Add license and readme (Thanks Dennis!) 2020-03-10 15:09:48 -04:00
Jim
38840b710d util: new directory for "Prime on Unix" utility programs 2020-03-10 14:49:22 -04:00
Jim
45086db988 makefile: remove utilities from makefile, now in util 2020-03-10 14:48:24 -04:00
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
d544395fbc stopwatch.h: add stub file for Linux version. Older versions of the
emulator will also need this stub to compile.
2020-03-09 22:26:06 -04:00
Jim
4fb9acdc77 makefile: add emwarn target to get crazy with compiler errors and warnings 2020-03-09 16:38:26 -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
35adf0905a devpnc.h: moved xmit setup code from OTA to pncxmit;
move loopback handling to pncxmit1 so it is used for broadcasts;
added reason to disconnects for better logging;
change some traces to prints for better logging;
my node is always authenticated
2020-03-08 23:25:44 -04:00
Jim
c18704894f merge -naddr changes 2020-03-01 22:06:56 -05:00
Jim
06a848a464 devpnc.h: don't send broadcasts to myself. Not sure if this is right 2020-03-01 22:04:47 -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
9d656255a5 devpnc: only broadcast to nodes in ring.cfg 2020-02-29 14:02:52 -05:00
Jim
df00f2c7e6 devpnc.h: # in ring.cfg is a comment, like amlc.cfg; map all
unprintable characters to _
2020-02-29 13:21:45 -05:00
Jim
cd351506ea devpnc.h: drive connections from PNC xmit requests rather than
ring.cfg, for faster start times of large rings
2020-02-27 20:00:58 -05:00
Jim
120079666f devpnc.h: expand listen backlog for big rings, use TCP_DEFER_ACCEPT so
Linux holds onto connections until the uid is sent.  Otherwise, the
delay between making a connection and sending the uid will be larger
than MAXACCCEPTTIME, causing large rings to fail
2020-02-27 11:53:07 -05:00
Jim
bf3c1a3df2 devpnc: after accept, make fd non-blocking to avoid deadlock when multiple emulators make connect requests, then accept(), then block reading uid that never comes. 2020-02-26 21:39:21 -05: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
aac96b62c2 devpnc.h: disable Nagle to decrease latency 2020-02-25 13:46:44 -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