Thomas Harte
a209ae76ca
Adds keyboard input from SDL.
2017-11-05 21:16:14 -05:00
Thomas Harte
0116d7f071
Added a platform-neutral route for feeding ROMs to machines, in a platform-dependant fashion; implemented for the CPC.
2017-11-05 20:12:01 -05:00
Thomas Harte
512e877d06
Ensures proper initialisation of the delegate pointer.
2017-11-05 20:11:18 -05:00
Thomas Harte
1e1efcdcb8
Pushes far enough along the path of having the SDL version do work that it becomes obvious I've never figured out the correct course of action if there is no sound output.
2017-11-05 12:49:28 -05:00
Thomas Harte
bc2f58e9de
Starts the process of adding an SDL-based 'kiosk' (i.e. TV UI, or even UI-less for now) mode.
...
Specifically, introduces to the Mac side of things an SDL target with, so far, enough logic to create a window and pump SDL's events, after having decided which machine and configuration it should use.
2017-11-04 19:36:46 -04:00
Thomas Harte
fd10c42433
Merge pull request #263 from TomHarte/WriteableDSK
...
Makes CPC-style .DSK files writeable
2017-11-03 21:59:06 -04:00
Thomas Harte
794437f20f
Corrects fixed buffer size error in FileHolder::check_signature
.
2017-11-03 21:43:31 -04:00
Thomas Harte
23d5849cda
Attempts to map recognised [M]FM errors back to FDC status codes.
2017-11-03 21:29:42 -04:00
Thomas Harte
5070a8414f
Improves FileHolder documentation
2017-11-03 21:29:15 -04:00
Thomas Harte
5a3ca0e447
Adds output for modified CPC DSKs.
2017-11-03 21:10:22 -04:00
Thomas Harte
e384c50580
Switches FileHolder to have a usage much closer to FILE *.
...
Thereby opens a route for file format implementations such as that appearing for CPC DSK that create an in-memory copy and perform a full rewrite.
2017-11-02 22:32:00 -04:00
Thomas Harte
b9734278f6
Provides an up-front evaluation of performance versus objectices via README.MD.
2017-11-02 12:22:27 -04:00
Thomas Harte
f807a6b608
Generalises the concept of multiple samplings of an FM/MFM sector, simplifying CPC DSK support and paving the way for generic weak/fuzzy bit support.
2017-10-31 21:32:28 -04:00
Thomas Harte
833f8c02a4
Switches the CPC DSK implementation to building an in-memory version of the structure up front.
...
Preparatory to making these things writeable.
2017-10-31 19:41:16 -04:00
Thomas Harte
0248c6a282
Merge pull request #262 from TomHarte/BookEnds
...
Adds a facility for 'bookending' data runs, eliminating an occasional Electron rendering error
2017-10-23 18:36:54 -04:00
Thomas Harte
218b976dbc
Adds through route for setting a texture bookender, and exploits it from the Electron.
2017-10-23 18:35:37 -04:00
Thomas Harte
513903890e
Corrects definition of Bookender
and provides the default implementation.
2017-10-22 17:24:41 -04:00
Thomas Harte
1157bde453
Sketches interface for a GPU data bookender, to avoid stray errors with packed pixel formats.
2017-10-22 10:48:10 -04:00
Thomas Harte
46345c6a3e
Merge pull request #261 from TomHarte/UIntCasts
...
Continues the process of conversion to functional casts.
2017-10-21 22:53:14 -04:00
Thomas Harte
c13f8e5390
Corrects a couple of cast conversion errors.
2017-10-21 22:42:19 -04:00
Thomas Harte
ad9df4bb90
Commutes uint8_t *
, uint16_t *
, uint32_t *
, size_t
, off_t
and long
to functional-style casts.
2017-10-21 22:30:15 -04:00
Thomas Harte
e983854e71
Converts all uint8_t
and uint16_t
casts to the functional style.
2017-10-21 21:50:53 -04:00
Thomas Harte
ec999446e8
Commutes int
and unsigned
casts to the functional style.
2017-10-21 21:00:40 -04:00
Thomas Harte
5e3e91373a
Switches all unsigned int
and double
casts to functional style.
2017-10-21 19:49:04 -04:00
Thomas Harte
c52348d8d7
Merge pull request #260 from TomHarte/KeyboardCleanup
...
Cleans up after keyboard formalisation.
2017-10-21 10:53:46 -04:00
Thomas Harte
9e0907ee76
Completes clean-up of post-formalisation per-machine keyboard code.
...
At least for now. Standardising on how column + row is encoded might be helpful.
2017-10-21 10:52:35 -04:00
Thomas Harte
9ad4025138
Relocates things that were in Machines/ for machine usage.
...
Leaving only those things intended to be visible interface.
2017-10-21 10:30:02 -04:00
Thomas Harte
405f58d6a3
Corrects write guard names.
2017-10-21 10:21:40 -04:00
Thomas Harte
afbd1c425c
Merge pull request #259 from TomHarte/Vic20Keyboard
...
Consolidates Vic-20 keyboard code.
2017-10-19 22:28:11 -04:00
Thomas Harte
b2c1b83fcd
Consolidates Vic-20 keyboard code.
2017-10-19 22:27:30 -04:00
Thomas Harte
8d2b9a581a
Merge pull request #256 from TomHarte/UniversalInput
...
Standardises the host-side interface for joystick and keyboard input
2017-10-19 22:15:47 -04:00
Thomas Harte
1825af0dd3
Eliminates dead code in the Vic-20 and Inputs::Joystick.
2017-10-19 22:15:21 -04:00
Thomas Harte
c2f6799f0c
Implements Vic-20 restore key.
2017-10-19 22:02:34 -04:00
Thomas Harte
b5b6219cb7
Slightly simplifies TextureBuilder arithmetic.
2017-10-19 22:02:00 -04:00
Thomas Harte
185a699279
Fixes off-by-one keyboard state accumulation error.
2017-10-19 22:01:24 -04:00
Thomas Harte
96b8f9ae9f
Merge branch 'master' into UniversalInput
2017-10-17 22:54:17 -04:00
Thomas Harte
88e2350b8f
Prevents undefined behaviour from the CPC's timer.
2017-10-17 22:53:52 -04:00
Thomas Harte
5c141af734
Prevents undefined behaviour from the CPC's timer.
2017-10-17 22:40:32 -04:00
Thomas Harte
da580e4186
Merge branch 'master' into UniversalInput
2017-10-17 22:36:22 -04:00
Thomas Harte
57ee09dffb
Merge pull request #258 from TomHarte/UndefinedBehaviour
...
Corrects large swathes of undefined behaviour
2017-10-17 22:35:59 -04:00
Thomas Harte
7c8e830b90
Adjusted the Acorn tape parser to avoid signed left shifts.
2017-10-17 22:34:49 -04:00
Thomas Harte
ba5f668338
Ensured full CRT instance initialisation.
2017-10-17 22:34:10 -04:00
Thomas Harte
2c1e99858b
Fixed HalfCycles to allow conversion from Cycles without relying on undefined behaviour.
...
Specifically: left shifting a negative number.
2017-10-17 22:22:51 -04:00
Thomas Harte
7f2febeec9
Ensures complete DPLL initial state assignment.
2017-10-17 22:13:37 -04:00
Thomas Harte
2d7a4fe5f0
Switches the MFM shifter to unsigned accumulation.
...
Since left shifting signed numbers is undefined behaviour.
2017-10-17 22:12:04 -04:00
Thomas Harte
91b867a7b3
Ensures full 8272 instance state initialisation.
2017-10-17 22:11:01 -04:00
Thomas Harte
3944e734d3
Ensures full 6845 instance state initialisation and uses an unsigned shifter.
2017-10-17 22:10:28 -04:00
Thomas Harte
ce78d9d12c
Introduces buffer alignment when writing to textures.
...
To avoid cross-boundary writes and hopefully to eke out a little better performance.
2017-10-17 22:09:48 -04:00
Thomas Harte
edbc60a3fb
Various undefined behaviour fixes.
...
Primarily around uninitialised variables, but also with an attempted use of a negative pointer.
2017-10-17 21:29:19 -04:00
Thomas Harte
6ea3ff62df
Merge branch 'master' into UniversalInput
2017-10-17 21:28:40 -04:00