Thomas Harte
|
e2cdfae8a7
|
The emulated Oric now has access to both versions of the BASIC ROM and picks between them based on the static analyser's recommendation.
|
2016-11-15 10:39:16 +08:00 |
|
Thomas Harte
|
ab64731d51
|
Fixed off-by-one recording of disasssmbled addresses; added logic to the Oric static analyser to try to guess between BASIC 1.1 (the preferred option in a tie-break or if no information is found) and BASIC 1.0.
|
2016-11-15 10:31:47 +08:00 |
|
Thomas Harte
|
1bffc70494
|
In theory that's a full disassembler, at least as far as I want to go for now. Time to test.
|
2016-11-15 08:19:57 +08:00 |
|
Thomas Harte
|
a5fc45e66e
|
Started fleshing this out; addressing modes are completely decoded, along with a bunch of opcodes, but appropriate address advancement isn't in yet, and neither is filling in derived metadata.
|
2016-11-14 12:19:09 +08:00 |
|
Thomas Harte
|
f08e87c6c1
|
Merge branch 'master' into Disassembler
|
2016-11-11 20:32:18 -05:00 |
|
Thomas Harte
|
7eeaac23e7
|
Reversed myself. I once again do not think the clock is divided by 256 for envelopes.
|
2016-11-11 20:31:48 -05:00 |
|
Thomas Harte
|
1b66847647
|
Started trying to implement something sufficient of a 6502 disassembler.
|
2016-11-11 20:10:58 -05:00 |
|
Thomas Harte
|
4ba39d13b5
|
Merge pull request #75 from TomHarte/AudioUpdates
Reintroduced a separate thread for audio processing and made various AY fixes
|
2016-11-10 20:32:57 -05:00 |
|
Thomas Harte
|
77987bf31e
|
Decided to go with divide by 256 for the envelope counter after all.
|
2016-11-09 21:51:56 -05:00 |
|
Thomas Harte
|
77ce200fbb
|
Simplified/corrected AY tone/noise mixer logic, and made a new guess at the effect of reading registers that are smaller than 8 bits.
|
2016-11-09 21:21:17 -05:00 |
|
Thomas Harte
|
9c550c594a
|
Moved audio work back into its own thread, but this time it queues up an all happens only upon a flush. Hopefully to resolve synchronisation cost concerns.
|
2016-11-09 21:17:50 -05:00 |
|
Thomas Harte
|
f3c8c57043
|
Merge pull request #74 from TomHarte/WaveLengthOric
Switches to Oric tape parsing by full-cycle length only
|
2016-11-09 06:41:56 -05:00 |
|
Thomas Harte
|
fce48b9b8c
|
I am instructed that the Oric actually catches only positive transitions, and compares the distance between those to a threshold. So here's an altered version of the tape parser that does that.
|
2016-11-09 06:37:10 -05:00 |
|
Thomas Harte
|
79dd062941
|
Merge pull request #73 from TomHarte/TapeClasses
Clarifies that a tape parser does not own a tape, it is merely lent one
|
2016-11-07 22:04:37 -05:00 |
|
Thomas Harte
|
64827931bf
|
Switched the Oric implementation simply to rely upon the Storage-level tape parser. So now there's only one, authoritative one of those.
|
2016-11-07 21:57:58 -05:00 |
|
Thomas Harte
|
c257e7f58d
|
Implemented better sync-to-zero and discovered a header counting bug plus, probably, a misleading representation of gaps in the Oric TAP decoder.
|
2016-11-07 20:17:06 -05:00 |
|
Thomas Harte
|
80702616ea
|
Had a quick go at using the Oric parser for static analysis. Found out that synchronisation is lost. Need to investigate.
|
2016-11-06 22:56:38 -05:00 |
|
Thomas Harte
|
7205c3f82b
|
Made an attempt to build in Oric slow/fast detection.
|
2016-11-06 21:31:10 -05:00 |
|
Thomas Harte
|
d1ef2f7c63
|
Made an attempt to consolidate what I learnt of Oric encoding while building this hastily and untidily directly into the Oric implementation.
(while adding support for the slow tape encoding mode)
|
2016-11-06 19:22:09 -05:00 |
|
Thomas Harte
|
353c1c8ea3
|
Shifted ownership of PETSCII -> string conversion down to the storage layer, where it's useful for tape parsing.
|
2016-11-06 18:43:51 -05:00 |
|
Thomas Harte
|
1b15bc3a6c
|
Started relocating the tape parsers down from static analyser to storage, to signify that they may be used by the emulation (if fast loading is supported on that machine).
|
2016-11-06 16:13:13 -05:00 |
|
Thomas Harte
|
093eb55fc6
|
The parsers no longer own a tape, merely taking one as an argument. So they can be an adjunct.
|
2016-11-06 15:25:18 -05:00 |
|
Thomas Harte
|
bc83a8f2d0
|
Merge pull request #72 from TomHarte/RefactoredTyper
Attempts to clean up the Typer code, reducing duplication and improving per-platform readability
|
2016-11-05 15:29:26 -04:00 |
|
Thomas Harte
|
45b169f341
|
Made a few mapping fixes, clarified where the default reset code lives, ensured the Oric and Vic clear their keys when the typer ends.
|
2016-11-05 15:28:03 -04:00 |
|
Thomas Harte
|
c21bef4283
|
Project cleaning.
|
2016-11-05 15:08:22 -04:00 |
|
Thomas Harte
|
338904fffe
|
Made similar cleanings of the Electron and Vic.
|
2016-11-05 15:07:57 -04:00 |
|
Thomas Harte
|
9fb9d92437
|
Made the typer much more able to help out, and thereby tidied and separated the Oric's typer.
|
2016-11-05 14:47:09 -04:00 |
|
Thomas Harte
|
e5de9c8607
|
Merge pull request #71 from TomHarte/IRQBenchTest
Introduces a one-cycle cost to setting 6522 timers
|
2016-11-05 13:00:35 -04:00 |
|
Thomas Harte
|
dda0c8af30
|
Fixed tests.
|
2016-11-05 12:58:56 -04:00 |
|
Thomas Harte
|
fa65cc2058
|
Resolved type conversion error.
|
2016-11-05 12:57:01 -04:00 |
|
Thomas Harte
|
30c670f8de
|
Ensured programmatic setting of the timers occurs during phase 2 _instead_ of counting.
|
2016-11-04 21:30:18 -04:00 |
|
Thomas Harte
|
eccfdabeab
|
Temporarily disabled thread hop, until I can find a way to batch these things.
|
2016-11-03 22:52:02 -04:00 |
|
Thomas Harte
|
626e719fab
|
Added sanity checks on loading quickly.
|
2016-11-03 22:50:49 -04:00 |
|
Thomas Harte
|
c2c4e81a7d
|
Merge pull request #70 from TomHarte/OricTyper
Implemented typer for the Oric, and I'm starting to think the code is…
|
2016-11-03 22:23:01 -04:00 |
|
Thomas Harte
|
a7e4c0c3b5
|
Switched to a ROM trap for typing.
|
2016-11-03 22:21:05 -04:00 |
|
Thomas Harte
|
8c70dc5891
|
Implemented typer for the Oric, and I'm starting to think the code is a bit too repetitious. Refactoring will be forthcoming. Added CLOAD"" as the loading command for all Oric software.
|
2016-11-03 22:14:40 -04:00 |
|
Thomas Harte
|
2d7c6ad03b
|
Merge pull request #69 from TomHarte/FastOricTape
Introduces fast loading for Oric tapes
|
2016-11-03 08:03:20 -04:00 |
|
Thomas Harte
|
a2e5fd2a1f
|
Corrected layout error.
|
2016-11-03 08:02:13 -04:00 |
|
Thomas Harte
|
9c2df231ce
|
Made fast loading optional.
|
2016-11-03 07:59:30 -04:00 |
|
Thomas Harte
|
e9f1a6a79d
|
This appears to be it. The secret? Don't worry about the stop bits. They're just processing time. Latch onto the next start.
|
2016-11-03 07:34:48 -04:00 |
|
Thomas Harte
|
827a919368
|
This is an initial attempt at reading actual tape data. It loses sync though.
|
2016-11-02 22:30:53 -04:00 |
|
Thomas Harte
|
419629ee6e
|
Completed proof of theory for fast loading. It's just an around-the-back direct-to-file hack for now though.
|
2016-11-02 21:09:49 -04:00 |
|
Thomas Harte
|
3e67f3caa6
|
Merge branch 'master' into FastOricTape
|
2016-11-02 08:04:51 -04:00 |
|
Thomas Harte
|
42797111ca
|
Merge pull request #68 from TomHarte/ProperLicences
Partitions and introduces licences for the various test suites upon which I rely
|
2016-11-01 22:42:32 -04:00 |
|
Thomas Harte
|
67f2c73205
|
Slightly cleaned project.
|
2016-11-01 22:42:00 -04:00 |
|
Thomas Harte
|
70973eb850
|
Fixed accreditation of BCDTest.
|
2016-11-01 22:40:48 -04:00 |
|
Thomas Harte
|
23376257dc
|
Let's try this not as markup.
|
2016-11-01 22:36:07 -04:00 |
|
Thomas Harte
|
bddc540c0d
|
Partitioned and added text for AllSuiteA and Klaus Dormann's tests.
|
2016-11-01 22:35:15 -04:00 |
|
Thomas Harte
|
ca3e1c3204
|
Added an appropriate licence and credit for Wolfgang Lorenz's suite.
|
2016-11-01 22:26:12 -04:00 |
|
Thomas Harte
|
7ad44f5152
|
Flipped order of conditional so as negligibly to improve prediction.
|
2016-10-31 22:17:18 -04:00 |
|