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
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
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
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
c5e06d46a0
Updated license to GNU AGPL, updated readme and EULA accordingly.
2016-07-26 18:06:35 -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
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
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
97e72f7989
Fixup for "1.0" release.
2016-03-25 15:52:23 -07:00
Josh Dersch
c48e530cbe
Finished up configuration UI. Config is now persisted to a configuration file. Small fixes to UDP encapsulation to ignore packets coming from the same host. Small fix for PInvoke for high res timer.
2016-03-02 17:31:19 -08:00
Josh Dersch
c73fb66dee
Added configuration UI. Implemented ethernet encapsulation over UDP. A few minor tweaks.
2016-02-26 17:46:50 -08:00
Josh Dersch
209dea8052
Ethernet tweaks / hacks for IFS, added configuration for 'net boot.
2016-02-17 13:54:23 -08:00
Josh Dersch
8463ef19d0
Ethernet! A really hacky version of Ethernet. Can play MazeWar, but still needs work.
2016-01-15 14:44:24 -08:00
Josh Dersch
3c8a64bac8
Ethernet implemented, fixed a bug in "mixed" double word stores (store followed by fetch rather than two stores). Fixed a few UI issues, fixed Reset behavior.
2015-12-17 16:11:03 -08:00
Josh Dersch
42947488e9
Cleaned up new UI, refactored Debugger/control logic, fixed mouse capture behavior and started working on better keyboard input.
2015-12-14 17:47:12 -08:00
Josh Dersch
115432516f
Refactored drive logic (mostly) to allow for multiple drives. Fixed drive selection logic. Started work on "real" UI.
2015-12-11 16:57:02 -08:00
Josh Dersch
2c2ea68a63
Implemented disk writes (roughly). Bravo now works. DIEX passes with writes enabled. Begun investigation into drive selection logic. Added Mesa source code with annotation, is displayed in ROM1 tab.
2015-12-02 12:39:10 -08:00
Josh Dersch
f256042cf4
Small tweaks, draft of annotated XMesa microcode assembly added.
2015-11-24 17:27:06 -08:00
Josh Dersch
cbcfd2b47e
Minor bugfixes, introduced a new timing infrastructure and moved DiskController over to it. Minor performance improvements; now running at 110% speed. Display timing is still too slow.
2015-11-17 16:09:50 -08:00
Josh Dersch
ca638f1d6e
Initial rough implementation of Display hardware and associated tasks. Not really working.
2015-11-10 17:04:05 -08:00
Josh Dersch
ea5a5f22ec
Improvements to Disk Word Task.
2015-10-20 15:32:26 -07:00
Josh Dersch
0ced1a2ef8
Built basic debugger UI and execution framework; a few bugfixes. CPU now executes uCode up until the first STARTF (unimplemented).
2015-09-01 17:06:57 -07:00
Josh Dersch
59d98d1909
Refinement to CPU, implemented very rough diassembler and began annotation of official Xerox ucode sources with PROM addresses.
2015-08-28 18:07:59 -07:00
Josh Dersch
f1ffcb0547
Implemented ALU, most of Memory state machine.
2015-08-20 18:02:01 -07:00
Josh Dersch
6193189b10
Basic skeleton, ucode loading.
2015-08-19 13:35:56 -07:00