Commit graph

25 commits

Author SHA1 Message Date
Seth Morabito
7ba70ac35b 3b2: Allow OS to set baud rate and parity
The CONTTY emulation now honors parity, baud rate, and character bit
size as set by the operating system.
2017-12-28 12:12:06 -08:00
Seth Morabito
e78ef46ccb 3b2: Differentiate HD135 and HD161 disks 2017-12-27 17:21:57 -08:00
Seth Morabito
651faa78ae 3b2: Allow handling of TRACE and BREAKPOINT traps
The 3B2 emulator did not have support for traps, rendering debugging
under the simulator fairly useless. This change adds support for
trap handling. The 'sdb' UNIX debugger under SVR3 should now work
correctly.
2017-12-27 15:13:58 -08:00
Seth Morabito
e7eaaa8550 3b2: Fix warnings generated by older GCC
GCC 4.1.2 produced several warnings about inline functions.
This commit fixes those warnings.
2017-12-17 11:32:31 -08:00
Seth Morabito
7bb02e7530 3b2: CONTTY line configuration
Adds modem control line speed configuration to prevent FIFO overflow.
2017-12-16 16:07:08 -08:00
Seth Morabito
634a92f8bf 3b2: Fix for critical MMU caching bugs
Two critical issues are fixed with this commit:

1. The MMU cache was being corrupted by writing the 'Last Used'
   bit into the wrong half of the PD cache (low word vs. high word)

2. The MMU cache was being too aggressively flushed on SRAMA
   write, because the wrong length was being used. In addition,
   the code was walking off the end of the cache array when
   flushing any section other than section 0, potentially causing
   memory corruption.
2017-12-15 13:32:17 -08:00
Seth Morabito
6b8d8b048e 3b2: Support software power-off 2017-12-15 13:32:11 -08:00
Seth Morabito
ecf7af59d5 3b2: Remove unused local variable 2017-12-13 16:44:33 -08:00
Seth Morabito
2fdf6bd1d7 3b2: Support for additional hard disk geometries
This commit adds support for the following emulated hard disks:

   HD30       30 MB CDC Wren 94155-36
   HD72       73 MB CDC Wren II 94156-86
   HD72C      72 MB Fujitsu M2243AS
   HD135     161 MB Maxtor XT1190
2017-12-13 16:30:37 -08:00
Seth Morabito
5a19a6b12c 3b2: Support for multiple integrated disks
This commit improves the integrated disk (ID) controller's behavior,
enabling full support for up to two 72MB (emulated WREN II)
integrated winchester disks.
2017-12-13 14:15:56 -08:00
Seth Morabito
06e7851d83 3b2: Fix overflow of mask bits in INSFW/EXTFW
- An overflow bug was causing INSFW and EXTFW to fail
  on Windows hosts compiled with Microsoft Visual Studio.
  This commit fixes the issue and causes 3B2 diagnostics
  to pass under win32.
2017-12-10 12:01:08 -08:00
Seth Morabito
d5f8a84493 3b2: Initial CONTTY support 2017-12-09 21:30:25 -08:00
Seth Morabito
395420b8b8 3b2: Remove unused variables 2017-11-30 17:43:36 -08:00
Seth Morabito
0a00d8066a 3b2: Coverity issue cleanup 2017-11-30 16:30:53 +00:00
Seth Morabito
9a7306a647 3b2: Use localtime instead of localtime_r 2017-11-30 00:14:24 +00:00
Seth Morabito
22b8e211c6 3b2: Improve TOD calculation 2017-11-29 21:44:40 +00:00
Seth Morabito
00f8bbcef1 3b2: Time of Day Clock
- This change adds support for storing time between boots in the Time
  of Day clock. An effort has been made to keep the Time of Day clock
  in sync with the wall clock between boots, so that user-set time
  advances properly between boots.

- Added a couple of custom help routines for TOD and NVRAM.
  I will be filling in more help routines as time permits.
2017-11-26 18:26:11 -08:00
Seth Morabito
3147c30b80 3B2: Fix critical UART bug 2017-11-25 11:04:04 -08:00
Seth Morabito
c2c248a1f2 3b2: Clean up compiler warnings 2017-11-25 10:36:28 -08:00
Seth Morabito
df54c87bf7 3b2: Coverity issue cleanup 2017-11-25 01:38:05 -08:00
Seth Morabito
690c30b6f4 3b2: Gracefully handle clock reset
Clock reset was not being handled gracefully at all, leading some
diagnostic tests not to pass, or not to pass consistently.

This change will "kick" the system clock whenever the timer divider is
reset, so the new divider is picked up immediately.
2017-11-25 01:38:05 -08:00
Seth Morabito
b23ebbe312 3b2: Refactor IU into 5 devices 2017-11-25 01:38:05 -08:00
Seth Morabito
f6e63892b4 3b2: Preserve opcode values in history 2017-11-25 01:38:05 -08:00
Seth Morabito
be48e5809b 3b2: Support 'Write Track' floppy command 2017-11-25 01:38:05 -08:00
Seth Morabito
804ea8e322 3b2: Initial release of an AT&T 3B2 model 400 emulator.
For information on usage, please see the file 3B2/README.md
2017-11-20 18:21:49 -08:00