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
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
Josh Dersch
c5e06d46a0
Updated license to GNU AGPL, updated readme and EULA accordingly.
2016-07-26 18:06:35 -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
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
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
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
b6e43080f2
Added (temporary) code to debug floating point issue with Dance,Starwars.
2016-03-08 17:23:32 -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
325a416b87
Cleaned up EthernetController, moved compilation back to "Any CPU" (preferring x86) using x86 versions of the PcapDotNet libraries, netting a 10-20% speedup.
2016-01-19 14:15:20 -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
898abdc906
Minor fixes for debugger interface and disassembler; started hooking Ethernet interface up to real host Ethernet (because MazeWar.)
2016-01-12 17:29:42 -08:00
Josh Dersch
30ed445764
Fix for soft-reset emulator uPC and device reset; CopyDisk now executes correctly.
2016-01-11 16:16:05 -08:00
Josh Dersch
8361f287e3
Added Parity Task (for completeness' sake), fixed SWMODE bank switching logic for 2K ROM, minor tweaks.
2016-01-07 10:34:10 -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
b13944c81c
Implemented proper video timing, basic mouse support and fixed microcode RAM loading. MARTEST now passes with flying colors; more things are running. Suspect disk timing for other failures.
2015-11-19 17:41:16 -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
47a2ee4b2b
Implemented temporary "fake" display controller which renders Alto DCBs to the screen, bypassing the display microcode. Alto is booting! Rough keyboard implementation.
2015-11-11 16:34:44 -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
e1c90dbe01
Fixed bug in carry flag on SUB operations; SUBLZ X,X now works correctly. Alto now appears to boot successfully. Skeleton of Display hardware added.
2015-11-09 17:36:26 -08:00
Josh Dersch
2918ede7ce
Some fixes to emulator task dispatch functions, added Nova disassembler, nova instruction single-step and nova instruction breakpoint support. Penciled in DNS (Nova Shift) support in emulator task. Added skeleton for Logging.
2015-10-28 14:11:04 -07:00
Josh Dersch
1dfd1e0be9
Hooked disk emulation up to disk images (currently hardcoded). Fixed a small bug in IDISP, tiny stub of Nova disassembler added.
2015-10-26 17:46:43 -07:00
Josh Dersch
ee7c7fb035
Implemented more Disk functionality, fixed bug in ACSOURCE dispatch in Emulator task.
2015-09-16 16:27:16 -07:00
Josh Dersch
08d6063def
Refactored Task code into separate files for readability; added breakpoint support and basic Memory window to debugger. Initial implementation (mostly stubs) of Disk hardware and Tasks.
2015-09-14 11:27:16 -07:00
Josh Dersch
24d7a5a8fe
Work begun on Disk controller, stubs for keyboard and a few bugfixes and tweaks.
2015-09-04 18:03:47 -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
c4f8fe951f
Finished ucode annotations.
2015-08-31 15:58:46 -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
3b77ba875d
Sketching in the rest of the CPU
2015-08-19 16:50:40 -07:00
Josh Dersch
6193189b10
Basic skeleton, ucode loading.
2015-08-19 13:35:56 -07:00