1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-23 18:31:53 +00:00
Commit Graph

1287 Commits

Author SHA1 Message Date
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
Thomas Harte
bb58caff52 Merge branch 'master' into FastOricTape 2016-10-31 22:11:03 -04:00
Thomas Harte
08e8118be3 Merge pull request #67 from TomHarte/FixedOricAudio
Fixes Oric audio
2016-10-31 22:06:04 -04:00
Thomas Harte
21604376e6 Reintroduced clocking of the AY and boxed in the range of the master divider a little further. 2016-10-30 22:51:08 -04:00
Thomas Harte
33512988fb Added a basic cycle skipper plus some notes. 2016-10-30 22:39:47 -04:00
Thomas Harte
1333a42a78 Merge pull request #66 from TomHarte/CheckOnlyWhenNeeded
Takes one more test out of the operation loop
2016-10-30 20:31:34 -04:00
Thomas Harte
4b347b9993 Made a trivial XCTAssert unit test substitution. 2016-10-30 20:30:32 -04:00
Thomas Harte
2452a3104f Corrected test: hitting zero is sufficient. No need to cross it. 2016-10-30 20:24:30 -04:00
Thomas Harte
8d87a61f63 Merge branch 'master' into CheckOnlyWhenNeeded 2016-10-30 20:17:57 -04:00
Thomas Harte
9f66f6abfe Merge pull request #65 from TomHarte/OricVideoImprovements
Rearranges Oric painting logic to reduce code path complexity
2016-10-30 20:17:24 -04:00
Thomas Harte
b04ba41951 Moved code out of header. 2016-10-30 20:16:58 -04:00
Thomas Harte
3b52ab0d37 Cut some dead state. 2016-10-30 20:16:52 -04:00
Thomas Harte
42fe9f29ac Moved code out of header. 2016-10-30 20:16:22 -04:00
Thomas Harte
95f54cb4b5 Cut some dead state. 2016-10-30 20:15:47 -04:00
Thomas Harte
9309be229c Moved cycle count test down to the only places where it may actually yield a different result. 2016-10-30 20:13:44 -04:00
Thomas Harte
58f888c6ad Limited CRT calls. 2016-10-30 16:21:20 -04:00
Thomas Harte
1ff9b474bf Made an attempt to make execution flow through this loop more straightforward for a branch predictor. 2016-10-30 15:30:39 -04:00
Thomas Harte
7843a244b0 Ensured emulation doesn't enter an infinite loop if the user attempts to read beyond the end of a tape. 2016-10-28 22:23:25 -04:00
Thomas Harte
69f0cef747 Merge pull request #64 from TomHarte/6502IRQ
Switches to storing the IRQ line in the inverse, to simplify its per-cycle logic
2016-10-28 21:30:22 -04:00