1
0
mirror of https://github.com/livingcomputermuseum/ContrAlto.git synced 2026-01-17 08:34:15 +00:00

50 Commits

Author SHA1 Message Date
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
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
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
43a85e0101 Ethernet receive/reset fixed, MazeWar now works with more than 2 players. Ethernet controller receive logic still needs massive cleanup. 2016-01-19 11:10:04 -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
09dc2cd3fc Adding missing files. 2016-01-12 17:33:02 -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
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. 2015-12-22 15:45:56 -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
2ee3d64f6c Commiting misc. changes and notes. 2015-12-03 10:51:48 -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
03661fc90b Fixed display microcode and display controller. Alto display now generated 100% by microcode tasks. A few small optimizations. 2015-11-16 16:46:24 -08:00
Josh Dersch
30ecfa6900 Support for CRAM reading/loading, SWMODE support. Rough debugger UI for viewing / disassembling microcode in ROM1, RAM0 banks (ugly). Minor performance improvements. 2015-11-13 16:50:18 -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
e9a13529c1 Implemented extended memory and fixed issues with S register 0 (which loads M). 2015-11-05 17:29:41 -08:00
Josh Dersch
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. 2015-11-05 13:49:32 -08:00
Josh Dersch
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. 2015-11-04 16:49:42 -08:00
Josh Dersch
39f077bf7a A few fixes to DNS<- behavior and some tweaks to the disk controller. Boot code is progressing further. 2015-11-03 16:21:12 -08:00
Josh Dersch
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. 2015-10-29 17:02:22 -07: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
3b29addb98 Disk sector reads now work correctly, and checksums are correctly calculated. Still feeding dummy sector data. 2015-10-23 16:07:07 -07:00
Josh Dersch
ea5a5f22ec Improvements to Disk Word Task. 2015-10-20 15:32:26 -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
9c3ee3afac Tweaks to ALU, CPU, Memory 2015-08-21 17:12:28 -07:00
Josh Dersch
f1ffcb0547 Implemented ALU, most of Memory state machine. 2015-08-20 18:02:01 -07:00
Josh Dersch
5719ec4815 Adding files that VS mysteriously excluded. I love tools. 2015-08-20 09:55:26 -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