1
0
mirror of https://github.com/livingcomputermuseum/ContrAlto.git synced 2026-02-28 01:16:11 +00:00

94 Commits

Author SHA1 Message Date
Josh Dersch
60bb9bfd13 Added "-rompath" startup option to allow specifying an alternate path for microcode ROMs. Updated raw Ethernet handling to work with ncap (which replaces WinPcap since it's no longer being updated) running in WinPcap mode. Fixed bug with DebuggerPrompt -- when run with stdin/out redirected, Console.Width is 0, resulting in a div/zero issue. 2019-02-21 16:43:44 -08:00
Josh Dersch
11c168e201 Updated documentation. 2018-07-12 18:32:42 -07:00
Josh Dersch
3410beda36 Updated documentation, minor tweaks. 2018-07-12 18:32:06 -07:00
Josh Dersch
d96d232fd3 Initial commit of changes for 1.2.3. This includes:
- Scripting support: Allows for recording and playback of mouse/keyboard input and various system control actions.  Simple (i.e. basic) scripting format.

- Fix for stale packets left in ethernet input queue; packets received by pcap while Alto's receiver is off are discarded.

- Mouse input made more accurate, and tweaked to avoid Alto microcode bug that causes erroneous mouse inputs under very rare circumstances on real hardware, but much more frequently under emulation.

- Small code cleanup here and there.  Moved many UI strings to resources, many more to go.
2018-03-20 14:16:07 -07:00
Josh Dersch
6f20ebbfe7 Minor UI tweaks, better error handling around disk pack image errors. Updated readme-mono.txt to include SDL 2.0 instructions for OS X. 2017-12-08 12:56:48 -08:00
Josh Dersch
1b7122b7f7 Updated version header in readme files. 2017-09-14 13:18:05 -07:00
Josh Dersch
3e281b318b Implemented Alto Keyset at long last, cleaned up Trident controller somewhat. Finished Trident commandset for SDL console. Updated readme files and installer WXS in preparation for 1.2.2 release. 2017-09-14 13:16:26 -07:00
Josh Dersch
38124350fb Fixed Trident drive select issues, corrected issue with extended memory bank registers. IFS now runs. 2017-08-31 12:23:46 -07:00
Josh Dersch
523a4bb27f Initial implementation of Trident controller and drives (supporting T-80 and T-300 packs). TFU works and can certify, erase, exercise and manipulate files on Trident packs. TriEx doesn't quite work properly yet. Still some issues to iron out.
Added file-backed disk image implementation for use with Trident disk images, did some basic refactoring of disk load/unload logic, added support for creating new (empty) disk images for both Trident and Diablo disks.

Added UI for loading/unloading/creating up to 8 trident packs; added blank Diablo pack creation UI.  (Both Windows and *nix interfaces.)

Added configuration support for same (both Windows and *nix.)

Small correction to Print output path browsing logic.

Fixed Windows installer, now places the right ROMs for Alto I configurations in the right place.

Fixed issue when starting up with corrupted configuration.  Corrupted configuration is ignored and ContrAlto will run with default config.
2017-08-22 13:18:31 -07:00
Josh Dersch
bfcce44a8f Fix for Ethernet bug introduced with switch to SharpPcap: Filtering of packets sent by ourselves doesn't actually take place. Amazingly this didn't break much, but Trek was affected and we can't have that. 2017-07-11 11:25:02 -07:00
Josh Dersch
1abb1db4d3 Updated readme files. 2017-07-10 17:09:26 -07:00
Josh Dersch
f849b795a6 - Fixed two memory state machine issues:
1) The Orbit microcode occasionally expects to be able to do a double-word read in cycles 6 and 7 instead of the usual 5 and 6.
  2) The double-word logic incorrectly handles several species of overlapped read/writes, which Spruce's layout microcode uses.

As a result, Spruce now works, as do the Smalltalk-80 images.

Several tweaks to microcode disassembly (still rough).

Completed Orbit / Dover ROS / Dover Print Engine emulation.  Still some rough edges; it works and can create PDF output.

Tweaked Disk Controller's Restore operation, it is now more accurate though wasn't causing any noticable issues.
2017-07-10 16:49:12 -07:00
Josh Dersch
c671b04ee8 Switched from PCap.net to SharpPcap for ethernet encapsulation; SharpPcap is cross-platform, this allows raw ethernet encapsulation to work on Linux and OS X. 2017-06-13 11:19:25 -07:00
Josh Dersch
aa9a2651ef Fix for incorrect Minus key mapping in SdlAltoWindow. 2017-06-09 14:02:25 -07:00
Josh Dersch
70769c9d7e Updated workaround for mouse issue on OS X Sierra 2017-06-08 10:28:22 -07:00
Josh Dersch
6cadb08b0e Added support for Unix/OS X using Mono. This uses SDL2 for display, keyboard, and mouse. 2017-06-07 11:18:32 -07:00
Josh Dersch
4bc85daa36 New hardware implementation:
- Orbit controller: implemented and passes ROS-less diagnostics
- ROS: In progress, not functional
- DAC: For Ted Kaehler's Smalltalk Music system (FM and Sampling).  Works, generates audio and can capture to WAV file.
- Organ keybard: Stub, enough implemented to make the music system happy (so it will play back music and not crash.)

Some minor cleanup.

New dependency on NAudio package for DAC playback.  Installer updated to include NAudio lib.
2017-05-12 17:23:34 -07:00
Josh Dersch
bd31f629f7 Updated readme.txt 2016-12-15 14:15:20 -08:00
Josh Dersch
50f4f9e7a1 Minor fixes, modified Ethernet to send packets as broadcasts, to match with IFS changes. 2016-12-15 14:08:39 -08:00
Josh Dersch
364034f012 Final v1.1 tweaks. 2016-10-27 13:17:50 -07:00
Josh Dersch
ae0896b362 Minor performance improvements. General cleanup. Fixed major (but subtle) issue with memory state machine (BravoX now works!). Updated readme and installer for 1.1 release. 2016-10-17 14:32:22 -07:00
Josh Dersch
39277a17a2 Small performance tweaks, minor cleanup, minor improvement to microcode disassembly. Fixes to microcode annotation (thanks, Ken!). 2016-09-28 15:46:54 -07:00
Josh Dersch
7704bca35d Cleanup of ugly Shifter code, a few tweaks to task-switch logic (now only calls OnTaskSwitch if a switch actually occurred), and moved back to .NET framework 4.5.2 (from 4.6) which works better on Mono. 2016-09-06 12:48:33 -07:00
Seth Morabito
bdc3b0f0e8 Simplify mode switching logic
Collapses several switch statements and removes duplicate assignments.
2016-08-19 14:22:59 -07:00
Seth Morabito
18be144349 Only add Memory device once
Moves setting of main memory device from inner loop to outside the loop.
2016-08-19 14:12:08 -07:00
Josh Dersch
592c641d29 Fixed readme, no longer refers to disk images included with the installer (since they're not provided). 2016-08-05 08:05:26 -07:00
Josh Dersch
5f6dbb3a5b Updated readme 2016-07-29 14:22:55 -07:00
Josh Dersch
c5e06d46a0 Updated license to GNU AGPL, updated readme and EULA accordingly. 2016-07-26 18:06:35 -07:00
livingcomputermuseum
8a3171c236 Delete Notes.txt
Removing dead file.
2016-07-20 13:17:02 -07:00
livingcomputermuseum
1633e4577c Delete Install notes.txt
Removing dead file
2016-07-20 13:16:09 -07:00
livingcomputermuseum
38f69f13a6 Delete HostEthernet.cs
Removing dead file
2016-07-20 13:14:30 -07:00
Josh Dersch
885cdc478f Updated readme to reflect .NET 4.6 requirement (vs. 4.5) and source license. 2016-07-20 12:23:40 -07:00
JoshD
f8f085464d Fixed clumsy handling of network device selection. Things are more uniform now (at last). Updated readme to include VC++ 2010 redistributable requirement for raw ethernet. 2016-07-19 13:07:30 -07:00
JoshD
5580a8a7a8 Changed settings storage to use the settings framework rather than rolling my own; this makes per-user settings work and fixes permission issues for non-admin users. Also made a small tweak to make the mouse work properly in high-dpi scenarios. 2016-07-18 17:28:10 -07:00
JoshD
5a17e7cfac Added GPL license header to source code; updated readme; removed disk images from installer package. Removed pcap folder from project 2016-07-12 17:18:54 -07:00
Josh Dersch
7faeb824f5 Added full-screen mode, tweaked layout of debugger UI a bit. 2016-05-17 15:51:27 -07:00
Josh Dersch
46d625586f Initial pass at implementing Alto Music (Organ/DAC interfaces). Not currently functional. Fixed Nova diassembly to properly handle alto-specific instructions; fixed some annoyances with microcode disassembler. 2016-05-12 18:31:22 -07:00
Josh Dersch
6429c3ae7a General code cleanup. Fixed debugger display of RAM banks for 3K systems, cleaned up logic for displaying ucode memory. Implemented memory timing for Alto I systems, incorporated Alto I uCode ROMs from Al K, which now boot. ST-74 runs better now. 2016-05-05 18:56:29 -07:00
Josh Dersch
c6baa01509 Added 3K RAM pages to debugger, cleaned up disassembly display code. 2016-04-25 17:04:22 -07:00
Josh Dersch
a62ac823ed Initial implementation of Alto I support. Still need proper Constants ROM for Alto I. Changed IDISP to use ACSOURCE ROM (small perf increase). 2016-04-13 15:45:33 -07:00
Josh Dersch
a9428a91d8 Small optimizations, updates to installer, and new UI for FPS and disk activity. 2016-04-05 15:22:30 -07:00
Josh Dersch
97e72f7989 Fixup for "1.0" release. 2016-03-25 15:52:23 -07:00
Josh Dersch
c4565f81a5 Fixed drive select logic (multiple drives now work properly -- fingers crossed) and some minor cleanup and dead-code removal. 2016-03-24 17:31:21 -07:00
Josh Dersch
bfda781576 Fixed disk controller logic (really disk timing logic) so that disk can run at 100% speed (rather than 50% speed). Changed endian-ness for ethernet packet words to match 3mbit bridge. (Similar changes also made to IFS). Removed some dead code. 2016-03-23 16:48:56 -07:00
Josh Dersch
2c99250ded Small tweaks to display controller in low-res mode; added support for Diablo 44 disks, added ST-76 on Diablo 44. 2016-03-16 17:07:57 -07:00
Josh Dersch
dc0a85aed8 Readme updates, installer updates. A couple of smallish (10%) performance enhancements. 2016-03-14 16:50:41 -07:00
Josh Dersch
a79fd5f016 Implemented basic installer for Contralto. Fixed a couple of small display rendering issues. 2016-03-11 11:38:35 -08:00
Josh Dersch
4cbb74c033 Fixed two microcode bugs related to task switching behavior. Dance, StarWars and *SMALLTALK* work! 2016-03-09 16:05:45 -08:00
Josh Dersch
b6e43080f2 Added (temporary) code to debug floating point issue with Dance,Starwars. 2016-03-08 17:23:32 -08:00
Josh Dersch
41b6a76b2a Implemented the 3K control RAM configuration, fixed bug in SWMODE (should use modified NEXT, not the NEXT from the uinstruction to determine bank.) 2016-03-03 16:28:05 -08:00