Commit graph

14 commits

Author SHA1 Message Date
Seth Morabito
9d849283a4 3B2: Interrupt Refactor and DEMON ROM
- This change introduces a full refactor of the interrupt subsystem
  for the system board (SBD) and the I/O bus (CIO). Interrupt decode
  should now be significantly faster, and not require an expensive
  calculation on every step.

- The TIMER device has been split into Rev 2 and Rev 3
  implementations.

- The optional 3B2/400 Debug Monitor ROMs can now be booted by passing
  the "DEMON" argument to the 3B2/400 simulator BOOT command. Any
  of the following will cause the Debug Monitor ROM to be booted
  instead of the standard 3B2/400 ROM:

     sim> BOOT DEMON
     sim> BOOT CPU DEMON
     sim> BOOT DEMON CPU
2021-08-24 06:35:49 -07:00
Seth Morabito
c02491f733 3B2: Header refactoring and cleanup
This change signficantly improves header hygiene in the 3B2 project by
moving global symbols out of 3b2_defs.h and into the appropriate
individual module header files.

Each compilation unit now includes:

  - its appropriate matching .h file
  - any other .h files necessary for linting and compilation

Each header file in turn includes 3b2_defs.h, which contains truly
global symbols, and which pulls in sim_defs.h and exports global
devices.
2021-08-11 19:43:51 -07:00
Seth Morabito
9bf37d3d6b 3B2: Don't clobber number of serial lines
Serial line setup was inadvertantly clobbering the number of lines on
initial setup, leading to potential invalid configuration.
2021-04-24 08:50:09 -07:00
Seth Morabito
bf6ec441f5 3b2: Removed compiler warnings. 2020-10-19 11:33:14 -07:00
Seth Morabito
1a3e5af755 3b2: Refactoring in preparation for Rev 3
Refactor in preparation for the addition of a Rev 3 simulator for the
3B2/1000 system.

This change also includes a full cleanup of the rat's-nest of includes
and externs that plagued the 3B2 simulator and made it difficult to
understand and maintain. Headers are now required in the following
order:

  compilation unit -> "3b2_defs.h" -> {... dependencies ...}

Finally, HELP has been added to the CPU device.
2020-03-26 15:12:08 -07:00
Seth Morabito
b0a4fb443c 3b2: NI 10Base5 Ethernet Device
- Implements an Ethernet device ("NI", for "Network Interface")
    for the 3B2 simulator.
2019-03-09 14:32:21 -08:00
Seth Morabito
3f7e473b79 3b2: Fix for erratic CONTTY behavior 2018-08-22 17:13:48 -07:00
Seth Morabito
71ee25be1a 3B2: Remove unused code, move static declarations
This change cleans up warnings issued when compiled with
-Wall.

- Removed unused functions and variables.
- Moved static declarations out of headers and into source files
- Added braces around initialization where suggested.
2018-08-19 12:37:31 -07:00
Seth Morabito
5ae2e4c49d 3b2: Fix for overwriting kernel memory 2018-08-19 12:37:18 -07:00
Mark Pizzolato
0a7c9de1e1 TMXR: Change rx and tx delta values to be usecs including the speed factor 2018-06-13 04:51:34 -07:00
Seth Morabito
0fa5807e1d 3b2: Fix coverity scan issues 2018-05-28 11:58:42 -07:00
Seth Morabito
75b1a2f317 3b2: Fix line endings, enforce CONST
- Correct line endings on 3b2_ctc.c/.h and on 3b2_ports.c/.h.
- Ensured CONST on const char* arrays.
2018-05-21 17:50:26 -07:00
Seth Morabito
d76bd81491 3b2: Code cleanup
This commit fixes several issues with code hygine and eliminates
warnings in the Windows build.
2018-05-21 15:30:27 -07:00
Seth Morabito
ba9d8626e9 3b2: CIO PORTS and CTC devices
This change adds Common-IO implementations of the PORTS 4-port serial
line card and the CTC tape controller card.
2018-05-21 14:29:58 -07:00