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
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
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
c5e06d46a0
Updated license to GNU AGPL, updated readme and EULA accordingly.
2016-07-26 18:06:35 -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
97e72f7989
Fixup for "1.0" release.
2016-03-25 15:52:23 -07: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
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
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
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
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
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