1
0
mirror of https://github.com/livingcomputermuseum/ContrAlto.git synced 2026-02-27 17:13:03 +00:00

Commit Graph

  • 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. master Josh Dersch 2019-02-21 16:43:44 -08:00
  • 11c168e201 Updated documentation. 1.2.3 Josh Dersch 2018-07-12 18:32:42 -07:00
  • 3410beda36 Updated documentation, minor tweaks. Josh Dersch 2018-07-12 18:32:06 -07:00
  • ddfc3c86c1 Merging changes to Resources.resx. Josh Dersch 2018-03-20 14:36:50 -07:00
  • d96d232fd3 Initial commit of changes for 1.2.3. This includes: Josh Dersch 2018-03-20 14:16:07 -07:00
  • 4b538a14ec Merge pull request #12 from lanodan/patch-1 Living Computers: Museum+Labs 2018-01-10 13:41:38 -08:00
  • 2dc4552d88 Contralto/Properties/Resources.resx: Fix path case Haelwenn Monnier 2018-01-05 17:33:31 +01:00
  • 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. Josh Dersch 2017-12-08 12:56:48 -08:00
  • 1b7122b7f7 Updated version header in readme files. v1.2.2 Josh Dersch 2017-09-14 13:18:05 -07:00
  • 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. Josh Dersch 2017-09-14 13:16:26 -07:00
  • 38124350fb Fixed Trident drive select issues, corrected issue with extended memory bank registers. IFS now runs. Josh Dersch 2017-08-31 12:23:46 -07:00
  • 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. Josh Dersch 2017-08-22 13:18:31 -07:00
  • 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. Josh Dersch 2017-07-11 11:25:02 -07:00
  • 1abb1db4d3 Updated readme files. Josh Dersch 2017-07-10 17:09:26 -07:00
  • 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. v1.2.1 Josh Dersch 2017-07-10 16:49:12 -07:00
  • 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. Josh Dersch 2017-06-13 11:19:25 -07:00
  • aa9a2651ef Fix for incorrect Minus key mapping in SdlAltoWindow. Josh Dersch 2017-06-09 14:02:25 -07:00
  • 70769c9d7e Updated workaround for mouse issue on OS X Sierra Josh Dersch 2017-06-08 10:28:22 -07:00
  • 6cadb08b0e Added support for Unix/OS X using Mono. This uses SDL2 for display, keyboard, and mouse. v1.2 Josh Dersch 2017-06-07 11:18:32 -07:00
  • 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.) Josh Dersch 2017-05-12 17:23:34 -07:00
  • bd31f629f7 Updated readme.txt Josh Dersch 2016-12-15 14:15:20 -08:00
  • 50f4f9e7a1 Minor fixes, modified Ethernet to send packets as broadcasts, to match with IFS changes. Josh Dersch 2016-12-15 14:08:39 -08:00
  • 364034f012 Final v1.1 tweaks. V1.1 Josh Dersch 2016-10-27 13:17:50 -07:00
  • 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. Josh Dersch 2016-10-17 14:32:22 -07:00
  • 39277a17a2 Small performance tweaks, minor cleanup, minor improvement to microcode disassembly. Fixes to microcode annotation (thanks, Ken!). Josh Dersch 2016-09-28 15:46:54 -07:00
  • 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. Josh Dersch 2016-09-06 12:48:33 -07:00
  • 2e47104e53 Merge pull request #1 from sethm/master Living Computer Museum 2016-08-19 14:37:48 -07:00
  • bdc3b0f0e8 Simplify mode switching logic Seth Morabito 2016-08-19 14:22:59 -07:00
  • 18be144349 Only add Memory device once Seth Morabito 2016-08-19 14:12:08 -07:00
  • d058004c50 Merge remote-tracking branch 'refs/remotes/livingcomputermuseum/master' Seth Morabito 2016-08-16 12:52:12 -07:00
  • 592c641d29 Fixed readme, no longer refers to disk images included with the installer (since they're not provided). Josh Dersch 2016-08-05 08:05:26 -07:00
  • 5f6dbb3a5b Updated readme Josh Dersch 2016-07-29 14:22:55 -07:00
  • c5e06d46a0 Updated license to GNU AGPL, updated readme and EULA accordingly. Josh Dersch 2016-07-26 18:06:35 -07:00
  • 8a3171c236 Delete Notes.txt livingcomputermuseum 2016-07-20 13:17:02 -07:00
  • 1633e4577c Delete Install notes.txt livingcomputermuseum 2016-07-20 13:16:09 -07:00
  • 38f69f13a6 Delete HostEthernet.cs livingcomputermuseum 2016-07-20 13:14:30 -07:00
  • 885cdc478f Updated readme to reflect .NET 4.6 requirement (vs. 4.5) and source license. Josh Dersch 2016-07-20 12:23:40 -07:00
  • c06e585bc4 Create license.txt livingcomputermuseum 2016-07-20 12:11:20 -07:00
  • 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. JoshD 2016-07-19 13:07:30 -07:00
  • 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. JoshD 2016-07-18 17:28:10 -07:00
  • 5a17e7cfac Added GPL license header to source code; updated readme; removed disk images from installer package. Removed pcap folder from project JoshD 2016-07-12 17:18:54 -07:00
  • 7faeb824f5 Added full-screen mode, tweaked layout of debugger UI a bit. Josh Dersch 2016-05-17 15:51:27 -07:00
  • 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. Josh Dersch 2016-05-12 18:31:22 -07:00
  • ddfe4f1940 Updated installer for new ROM directory hierarchy. Josh Dersch 2016-05-06 12:32:22 -07:00
  • 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. Josh Dersch 2016-05-05 18:56:29 -07:00
  • c6baa01509 Added 3K RAM pages to debugger, cleaned up disassembly display code. Josh Dersch 2016-04-25 17:04:22 -07:00
  • a62ac823ed Initial implementation of Alto I support. Still need proper Constants ROM for Alto I. Changed IDISP to use ACSOURCE ROM (small perf increase). Josh Dersch 2016-04-13 15:45:33 -07:00
  • a9428a91d8 Small optimizations, updates to installer, and new UI for FPS and disk activity. Josh Dersch 2016-04-05 15:22:30 -07:00
  • 97e72f7989 Fixup for "1.0" release. Josh Dersch 2016-03-25 15:52:23 -07:00
  • c4565f81a5 Fixed drive select logic (multiple drives now work properly -- fingers crossed) and some minor cleanup and dead-code removal. Josh Dersch 2016-03-24 17:31:21 -07:00
  • 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. Josh Dersch 2016-03-23 16:48:56 -07:00
  • 2c99250ded Small tweaks to display controller in low-res mode; added support for Diablo 44 disks, added ST-76 on Diablo 44. Josh Dersch 2016-03-16 17:07:57 -07:00
  • dc0a85aed8 Readme updates, installer updates. A couple of smallish (10%) performance enhancements. Josh Dersch 2016-03-14 16:50:41 -07:00
  • a79fd5f016 Implemented basic installer for Contralto. Fixed a couple of small display rendering issues. Josh Dersch 2016-03-11 11:38:35 -08:00
  • 4cbb74c033 Fixed two microcode bugs related to task switching behavior. Dance, StarWars and *SMALLTALK* work! Josh Dersch 2016-03-09 16:05:45 -08:00
  • b6e43080f2 Added (temporary) code to debug floating point issue with Dance,Starwars. Josh Dersch 2016-03-08 17:23:32 -08:00
  • 41b6a76b2a Implemented the 3K control RAM configuration, fixed bug in SWMODE (should use modified NEXT, not the NEXT from the uinstruction to determine bank.) Josh Dersch 2016-03-03 16:28:05 -08:00
  • 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. Josh Dersch 2016-03-02 17:31:19 -08:00
  • c73fb66dee Added configuration UI. Implemented ethernet encapsulation over UDP. A few minor tweaks. Josh Dersch 2016-02-26 17:46:50 -08:00
  • 209dea8052 Ethernet tweaks / hacks for IFS, added configuration for 'net boot. Josh Dersch 2016-02-17 13:54:23 -08:00
  • 325a416b87 Cleaned up EthernetController, moved compilation back to "Any CPU" (preferring x86) using x86 versions of the PcapDotNet libraries, netting a 10-20% speedup. Josh Dersch 2016-01-19 14:15:20 -08:00
  • 43a85e0101 Ethernet receive/reset fixed, MazeWar now works with more than 2 players. Ethernet controller receive logic still needs massive cleanup. Josh Dersch 2016-01-19 11:10:04 -08:00
  • 8463ef19d0 Ethernet! A really hacky version of Ethernet. Can play MazeWar, but still needs work. Josh Dersch 2016-01-15 14:44:24 -08:00
  • 09dc2cd3fc Adding missing files. Josh Dersch 2016-01-12 17:33:02 -08:00
  • 898abdc906 Minor fixes for debugger interface and disassembler; started hooking Ethernet interface up to real host Ethernet (because MazeWar.) Josh Dersch 2016-01-12 17:29:42 -08:00
  • 30ed445764 Fix for soft-reset emulator uPC and device reset; CopyDisk now executes correctly. Josh Dersch 2016-01-11 16:16:05 -08:00
  • 8361f287e3 Added Parity Task (for completeness' sake), fixed SWMODE bank switching logic for 2K ROM, minor tweaks. Josh Dersch 2016-01-07 10:34:10 -08:00
  • 0cce77c842 Fixed S register addressing (many things now working!), tweaked display (mouse displays correctly in lowres mode). Added support for committing disk changes back to disk images (done automatically when switching disks or exiting). Repaired BravoX image. Josh Dersch 2015-12-22 15:45:56 -08:00
  • 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. Josh Dersch 2015-12-17 16:11:03 -08:00
  • 42947488e9 Cleaned up new UI, refactored Debugger/control logic, fixed mouse capture behavior and started working on better keyboard input. Josh Dersch 2015-12-14 17:47:12 -08:00
  • 115432516f Refactored drive logic (mostly) to allow for multiple drives. Fixed drive selection logic. Started work on "real" UI. Josh Dersch 2015-12-11 16:57:02 -08:00
  • 2ee3d64f6c Commiting misc. changes and notes. Josh Dersch 2015-12-03 10:51:48 -08:00
  • 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. Josh Dersch 2015-12-02 12:39:10 -08:00
  • f256042cf4 Small tweaks, draft of annotated XMesa microcode assembly added. Josh Dersch 2015-11-24 17:27:06 -08:00
  • 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. Josh Dersch 2015-11-19 17:41:16 -08:00
  • 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. Josh Dersch 2015-11-17 16:09:50 -08:00
  • 03661fc90b Fixed display microcode and display controller. Alto display now generated 100% by microcode tasks. A few small optimizations. Josh Dersch 2015-11-16 16:46:24 -08:00
  • 30ecfa6900 Support for CRAM reading/loading, SWMODE support. Rough debugger UI for viewing / disassembling microcode in ROM1, RAM0 banks (ugly). Minor performance improvements. Josh Dersch 2015-11-13 16:50:18 -08:00
  • 47a2ee4b2b Implemented temporary "fake" display controller which renders Alto DCBs to the screen, bypassing the display microcode. Alto is booting! Rough keyboard implementation. Josh Dersch 2015-11-11 16:34:44 -08:00
  • ca638f1d6e Initial rough implementation of Display hardware and associated tasks. Not really working. Josh Dersch 2015-11-10 17:04:05 -08:00
  • 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. Josh Dersch 2015-11-09 17:36:26 -08:00
  • e9a13529c1 Implemented extended memory and fixed issues with S register 0 (which loads M). Josh Dersch 2015-11-05 17:29:41 -08:00
  • 78e61389c1 Fixed remaining disk issues; KSTAT bits 4-7 must always be "1," and head select change must reload current sector. Boot now loads in complete boot program and control is transferred to it. Josh Dersch 2015-11-05 13:49:32 -08:00
  • 0358db09fe Adding readme. Josh Dersch 2015-11-04 17:02:14 -08:00
  • a689b7185a Fixed: Disk address (KADR) and Disk Data (KDATA) registers behave (more) correctly; in particular record commands hare processed properly and KDATA handles reads/writes more sanely. Fixed checksum calculation; due to above changes microcode now correctly validates checksums and boot progresses to read in an entire track's worth of data before dying with a "check failure" error. Josh Dersch 2015-11-04 16:49:42 -08:00
  • 39f077bf7a A few fixes to DNS<- behavior and some tweaks to the disk controller. Boot code is progressing further. Josh Dersch 2015-11-03 16:21:12 -08:00
  • c0f23685b1 Fixed instruction register decoding SFs for Emulator Task; first stab at handling (most) DNS<- operations including setting SKIP and CARRY flip flops. BLT now succeeds, Nova code in bootstrap is running. Josh Dersch 2015-10-29 17:02:22 -07:00
  • 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. Josh Dersch 2015-10-28 14:11:04 -07:00
  • 1dfd1e0be9 Hooked disk emulation up to disk images (currently hardcoded). Fixed a small bug in IDISP, tiny stub of Nova disassembler added. Josh Dersch 2015-10-26 17:46:43 -07:00
  • 3b29addb98 Disk sector reads now work correctly, and checksums are correctly calculated. Still feeding dummy sector data. Josh Dersch 2015-10-23 16:07:07 -07:00
  • ea5a5f22ec Improvements to Disk Word Task. Josh Dersch 2015-10-20 15:32:26 -07:00
  • ee7c7fb035 Implemented more Disk functionality, fixed bug in ACSOURCE dispatch in Emulator task. Josh Dersch 2015-09-16 16:27:16 -07:00
  • 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. Josh Dersch 2015-09-14 11:27:16 -07:00
  • 24d7a5a8fe Work begun on Disk controller, stubs for keyboard and a few bugfixes and tweaks. Josh Dersch 2015-09-04 18:03:47 -07:00
  • 0ced1a2ef8 Built basic debugger UI and execution framework; a few bugfixes. CPU now executes uCode up until the first STARTF (unimplemented). Josh Dersch 2015-09-01 17:06:57 -07:00
  • c4f8fe951f Finished ucode annotations. Josh Dersch 2015-08-31 15:58:46 -07:00
  • 59d98d1909 Refinement to CPU, implemented very rough diassembler and began annotation of official Xerox ucode sources with PROM addresses. Josh Dersch 2015-08-28 18:07:59 -07:00
  • 9c3ee3afac Tweaks to ALU, CPU, Memory Josh Dersch 2015-08-21 17:12:28 -07:00
  • f1ffcb0547 Implemented ALU, most of Memory state machine. Josh Dersch 2015-08-20 18:02:01 -07:00
  • 5719ec4815 Adding files that VS mysteriously excluded. I love tools. Josh Dersch 2015-08-20 09:55:26 -07:00