Commit Graph

196 Commits

Author SHA1 Message Date
Will Scullin 70ec626dd0
Clean up copyright notices (#93) 2021-12-21 12:35:26 -08:00
Will Scullin 2978b72fec Update eslint, fix issues 2021-11-28 16:20:25 -08:00
Will Scullin badc2fdb74
Support Tom Harte test suite (#88)
A test data set was published at https://github.com/TomHarte/ProcessorTests which contain cycle traces of instructions for various versions of the 6502.

This adds a test harness that reads those data files, and adjusts the CPU6502 behavior to match the behavior of the vanilla and WDC 65C02 test data.

Also converts the existing CPU tests to Typescript, and fixes any inconsistencies that came up from the new behaviors.
2021-10-13 09:15:29 -07:00
Will Scullin 8ab5faee8e
Consistenly use hup to read hash 2021-10-03 11:08:46 -07:00
Will Scullin 2daef8040f
Keep track of disk sides (#87)
Disk side information was being dropped and thus not displayable in the UI. This plumbs the value through various formats and adds some light testing.

Also fixes an issue where URL encoded hashes were not properly interpreted.
2021-10-02 11:45:09 -07:00
Will Scullin 198cf74c75
No smooth scaling 2021-09-27 14:38:04 -07:00
Will Scullin 5cd19cb521
Extended debugging ROM 2021-07-17 16:23:49 -07:00
Will Scullin f4b0100c98
touchups 2021-07-11 15:18:18 -07:00
Will Scullin 45681d8e89
Better smartport behaviors 2021-07-10 11:44:10 -07:00
Will Scullin d70425461c
fix drive label 2021-07-09 18:08:26 -07:00
Will Scullin 044e28e050
Woz to TypeScript (#84)
Woz to TypeScript, with tests added before conversion.
2021-07-09 17:54:27 -07:00
Will Scullin ce3631f3a2
Refactor disk parsing into webworker (#83)
* Refactor disk handling to allow disk processing to happen in a worker
* Type cleanup
* Convert format handlers to TypeScript
* Convert CFFA to TypeScript
2021-07-06 17:04:02 -07:00
Will Scullin 3abd168627
Fix accelarated default 2021-07-05 09:27:12 -07:00
Will Scullin 389cd857e0
fix acceleration 2021-07-04 19:15:02 -07:00
Will Scullin b4c13d7620
Use AudioWorklet where available (#82)
Use AudioWorklet where available
2021-06-25 15:38:35 -07:00
Will Scullin 8087294456
Lazy load ROMs (#81)
* Switch modules to `esnext` to allow `webpack` to see import statements
* Pass rom names into Apple2 class
* Move ROMs into `system` and `character` directories to allow webpack bundle appropriate ROMs.
* Wait for ROMs to load before completing initialization.
2021-06-13 17:06:16 -07:00
Will Scullin af57378852
Videomode refactor 2 (#80)
Remove globals from video implementations to allow further refactoring. Experiment with testing video modes.
2021-05-25 12:08:10 -07:00
Will Scullin 47fe12539f
Clean up //e behaviors (#79) 2021-05-09 13:21:15 -07:00
Will Scullin 37cd62dad6
Don't mix tape/audio out 2021-04-25 12:48:27 -07:00
Will Scullin 6c4844cb87
Audio context this binding 2021-04-25 12:09:30 -07:00
Will Scullin 66d8fdc2c2
Allow address input (#78)
Allow address input
2021-04-25 09:37:55 -07:00
Will Scullin 8061caaaff
Typescript mains (#77) 2021-04-24 15:55:21 -07:00
Will Scullin 6af6ddd4a4
Clean up bleed 2021-04-20 19:40:26 -07:00
Will Scullin bf67d9dca4
Guard against videomode DOS 2021-04-20 18:24:47 -07:00
Will Scullin 90fc5fb7fc
fix gl default 2021-04-20 18:03:18 -07:00
Will Scullin 09c6d6fbb1
Options modal (#75)
Refactor Options modal, webgl scanline, restore `Apple2.apple2`, other minor fixes.
2021-04-20 17:42:32 -07:00
Will Scullin 5c7e335aad
VideoModes refactor part 1 (#60)
* Unify behaviors

* remove vestigial overdrawing

* handle bank 1 lores writes better

* carry over last bit when shifted

* Cleanup.
2021-04-18 19:54:15 -07:00
Will Scullin f53e50117e
remove sather misreading 2021-04-17 11:43:53 -07:00
Ian Flanigan 207bed3d27
Typescriptify `ui/apple2.js` (#74)
This is mostly a mechanical change; there are still lots of things
about `ui/apple2` that could be improved.  The change also converts a
few dependencies of `ui/apple2`, like `applesoft/compiler`.

Besides the straight conversions, some other packages have changes to
make all of the typing work out.

Lastly, `@types/micromodal` has been added as a development
dependency.
2021-03-30 17:27:44 -07:00
Will Scullin e3bbd2d640
lint 2021-03-28 16:56:06 -07:00
Will Scullin a7aa5ab902
Oh, Safari 2021-03-28 16:49:09 -07:00
Ian Flanigan 4d7068208a
Typescriptify all of the UI peripherals (#73)
* Typescriptify all of the UI peripherals

This converts the audio, gamepad, keyboard, printer, and tape
peripherals into Typescript. This is a pretty mechanical change.

It does fix issue #72, though.

* Add  and  that were missing
2021-03-28 16:39:18 -07:00
Ian Flanigan 54eddb178c
Update webpack-dev-server to 4.0.0-beta1 (#71)
When using the old webpack-dev-server with webpack 5+, we get bitten
by webpack/webpack-dev-server#2692. This upgrades to 4.0.0-beta1 which
also (unhelpfully) changes the config options.  The `watchContentBase`
and `watchOptions` don't seem to have analogs in the new versions, but
I left them commented out for future reference.

Also, this does not update `package-lock.json` because even just
updating locally gave different output since I'm on a different
version of node, I'm guessing.
2021-03-26 13:21:45 -07:00
Ian Flanigan 6395a9009e
Converts `ui/drive_lights.js` to Typescript (#70)
This change also exposes the `Callbacks` and `DriveNumber` types from
`disk2.ts`.
2021-03-26 07:45:51 -07:00
Ian Flanigan f230c58bbf
Add green screen support for the GL renderer (#68)
* Add green screen support for the GL renderer

This adds a configuration that is equivalent to a Monitor II monitor
(at least according to the Open Emulator Project) to GL renderer.
This does not need a restart to take effect.

* Update `package.json` to latest `apple2shader` version
2021-03-23 13:02:31 -07:00
Ian Flanigan a94fdaa065
Fix issue #64 (#66)
During the typescriptification of `disk2.js`
(9d0ec5489c), `drive`, a parameter
reference, was changed into `this.drive`, the current active disk, by
mistake. This change fixes that error.
2021-03-21 09:10:55 -07:00
Will Scullin db36ca4553
type vidoemodes 2021-03-16 19:16:17 -07:00
Will Scullin 4a4d2a2004
lint 2021-03-16 06:33:32 -07:00
Will Scullin e0ab1f9891
Avoid startup hiccup 2021-03-15 21:08:33 -07:00
Will Scullin ecef3010fd
stop nibble stream when drive off 2021-03-15 19:27:55 -07:00
Will Scullin ab3e97e8d1
Convert more cards to typescript (#63)
Convert more cards to typescript
2021-03-15 12:51:40 -07:00
Will Scullin 027b113cd4
reset flag less agressively 2021-03-14 15:15:54 -07:00
Will Scullin afa33a4710
fix test 2021-03-13 16:54:09 -08:00
Will Scullin e83fdd999e
Make breakpoints behave better 2021-03-13 16:08:24 -08:00
Will Scullin b4d6e95ec2
Unenhanded default to non-smartport 2021-03-13 16:07:29 -08:00
Will Scullin 71814744eb
minor cleanup 2021-03-13 13:22:45 -08:00
Will Scullin a3c7dd136b
Port language card and smartport to TypeScript (#62)
Port language card and smartport to TypeScript.
2021-03-13 13:18:32 -08:00
Will Scullin bf483e1178
bind this for debugger api 2021-03-13 12:36:19 -08:00
Will Scullin bb09a1ec33
Improve debug performance, abstract debugger. (#61)
Stop stringifying opcodes during runtime and only do so upon inspection. Moves all the debugging logic to a common place to allow building an interface.
2021-03-11 22:03:05 -08:00
Will Scullin 5f0d07623d
Revert slot 3 rom change 2021-03-09 06:37:34 -08:00