Thomas Harte
|
afde8dac49
|
Closed the loop such that audio manages to bubble up into Objective-C.
|
2016-01-13 22:38:59 -05:00 |
|
Thomas Harte
|
439d452e23
|
Resolved some errors.
|
2016-01-13 22:11:33 -05:00 |
|
Thomas Harte
|
49e89a4bcb
|
I'm not yet completely convinced by my approach to time basing, but it'll probably do? If so then this more or less gets me ready for a point-sampled filtering.
|
2016-01-13 22:02:39 -05:00 |
|
Thomas Harte
|
d9a7ef9e46
|
Edging towards audio output; the speaker is given appropriate input and output rates, and then updated with current divider and enabled/disabled status.
|
2016-01-13 21:03:43 -05:00 |
|
Thomas Harte
|
d28abdc037
|
Made an attempt at correct timing, adding support for additional paged ROMs, added file association for .rom.
|
2016-01-12 22:34:26 -05:00 |
|
Thomas Harte
|
84ba4e2900
|
Tidied a little, started working towards supporting speaker output.
|
2016-01-12 22:19:56 -05:00 |
|
Thomas Harte
|
3437781abd
|
Started sketching out an interface for sound generation. Which made me realise that the CRT in CRTDelegate was redundant, since C++ has namespaces.
|
2016-01-12 16:54:09 -05:00 |
|
Thomas Harte
|
6112f4ef6b
|
Withdrew soft filtering for now; until the sampling frequency is passed on it's not sufficiently rigorous.
|
2016-01-12 16:42:16 -05:00 |
|
Thomas Harte
|
75d6ec354b
|
Added some very basic filtering in RGB mode.
|
2016-01-12 16:27:09 -05:00 |
|
Thomas Harte
|
49a36ec9ac
|
Added F12 as break.
|
2016-01-11 22:35:52 -05:00 |
|
Thomas Harte
|
cba09b5490
|
Switched display update and RAM write order.
|
2016-01-11 22:29:16 -05:00 |
|
Thomas Harte
|
650077feac
|
Pulled a few things out as constants, zoomed in a little. Still in a 4:3 window though.
|
2016-01-11 22:18:34 -05:00 |
|
Thomas Harte
|
72019d0ea3
|
Made an attempt to get video output correct.
|
2016-01-11 22:08:30 -05:00 |
|
Thomas Harte
|
e93dbdb463
|
Implemented keyboard input.
|
2016-01-11 19:48:31 -05:00 |
|
Thomas Harte
|
ce916ebd6a
|
Fixed runaway frame generator.
|
2016-01-10 23:32:57 -05:00 |
|
Thomas Harte
|
93f7df04a0
|
Ensured correctly timed sampling of the interrupt line.
|
2016-01-10 22:55:56 -05:00 |
|
Thomas Harte
|
ccf20299a3
|
Made an attempt at getting some interrupts all up inside this thing.
|
2016-01-10 19:06:46 -05:00 |
|
Thomas Harte
|
cc5ba8243e
|
Fixed: turned out the power-on bit was being cleared.
|
2016-01-10 17:17:39 -05:00 |
|
Thomas Harte
|
d95414b2eb
|
I'm not really sure what's going wrong with paging yet but this fixes the 0xc000 byte error.
|
2016-01-10 12:30:24 -05:00 |
|
Thomas Harte
|
e07981c147
|
Fixed screen start address.
|
2016-01-09 22:52:08 -05:00 |
|
Thomas Harte
|
1308332a71
|
Hard-coded to 40 columns of black and white, here's some text, at least.
|
2016-01-09 22:39:46 -05:00 |
|
Thomas Harte
|
037602765a
|
This now correctly (I think) decodes information posted to the CRT. But doesn't yet post it correctly. I'm very close now, I hope.
|
2016-01-09 22:19:00 -05:00 |
|
Thomas Harte
|
07a041d788
|
Fixed vertical retrace sync.
|
2016-01-09 21:54:31 -05:00 |
|
Thomas Harte
|
3d6f20b7b9
|
Output, at last! Though sync is clearly way off.
|
2016-01-09 21:53:33 -05:00 |
|
Thomas Harte
|
09df218c01
|
Some output! Showing that three lines of solid sync isn't smart. But here it is.
|
2016-01-09 21:48:53 -05:00 |
|
Thomas Harte
|
b4f31edea3
|
Made an attempt to get RGB output mode up and running, and showing at least a box where pixels would be.
|
2016-01-09 21:32:56 -05:00 |
|
Thomas Harte
|
a900bfed65
|
Fixed to ensure that frame rendering wraps around, and to properly connect the Electron to its view. Now I need a working pixel shader.
|
2016-01-09 20:34:22 -05:00 |
|
Thomas Harte
|
7341f5c341
|
This is intended to be enough to start producing something of an output. But something's obviously still broken.
|
2016-01-09 20:26:40 -05:00 |
|
Thomas Harte
|
716bb3281b
|
This at least now connects up a CRT, though it never talks to it.
|
2016-01-07 22:26:49 -05:00 |
|
Thomas Harte
|
47a7654c00
|
Added just enough that this is probably a successful boot. I guess I'm going to need to get invested in graphics next? Hmmm.
|
2016-01-07 21:01:13 -05:00 |
|
Thomas Harte
|
8c1bfa5a05
|
This is the bare minimum to prove that the ROM is trying properly to boot.
|
2016-01-07 20:36:27 -05:00 |
|
Thomas Harte
|
0db8938d27
|
Added the option for the CSCathodeRayView to show only a subsection of the full scan area. Zoomed in a little on the 2600. Put in enough piping to give the Electron sight of its ROMs at least.
|
2016-01-06 23:14:36 -05:00 |
|
Thomas Harte
|
bfd9957c81
|
You now get an Electron only if you ask for a new file. That'll do for now while it's the only thing that one might want to start without supplying a file. The 6502 now starts from a defined point — being reset. The Electron is starting to grow the absolute most simple buds of its memory map.
|
2016-01-06 21:09:49 -05:00 |
|
Thomas Harte
|
c69b3256ba
|
Slightly simplified Swift usage.
|
2016-01-04 23:44:36 -05:00 |
|
Thomas Harte
|
616dc0b57c
|
Okay, so this is the absolute bare minimum about of refactoring and wiring necessary to get the [unimplemented] Electron machine pumping.
|
2016-01-04 23:40:43 -05:00 |
|
Thomas Harte
|
43ab8bbad5
|
Okay, so then here's a first shot at the Objective-C -> C++ bridge for the Electron.
|
2016-01-04 23:16:37 -05:00 |
|
Thomas Harte
|
ab45c1d530
|
Started working on a shell for the Electron emulation, including factoring out the common CRT delegate -> Objective-C bridging, serial dispatch queue and frameskipping logic from the Atari 2600 shell.
|
2016-01-04 23:12:47 -05:00 |
|
Thomas Harte
|
22fa024546
|
Added document XIB.
|
2016-01-03 20:46:39 -05:00 |
|
Thomas Harte
|
aa0714fe27
|
Started sketching out an Acorn Electron emulation, as it's a platform I'm familiar with and will force me to figure out PAL decoding. Factored out NTSC-specific parts of the display decoding logic and hence added RGB output mode.
|
2016-01-03 20:41:43 -05:00 |
|
Thomas Harte
|
96503a3ac5
|
Switched to nicer nullable/nonnull syntax.
|
2016-01-02 17:59:21 -05:00 |
|
Thomas Harte
|
feeedbe33b
|
The standard Xcode versioning updates. Nothing of substance.
|
2016-01-02 17:57:23 -05:00 |
|
Thomas Harte
|
675070c5dd
|
Very, _very_ minor: switched to normal C++ constructor syntax for simple variable initialisation.
|
2015-12-06 16:53:37 -05:00 |
|
Thomas Harte
|
5feef2110f
|
Added a very basic attempt at shadow mask emulation.
|
2015-09-24 21:23:16 -04:00 |
|
Thomas Harte
|
63b648be65
|
Switched down to four samples per pixel, just more than half as many, to fit into a vec4. Edges aren't as smooth but I'm wondering whether it'll make much odds when I implement a shadow mask.
|
2015-09-17 19:25:15 -04:00 |
|
Thomas Harte
|
5d6bee4927
|
Of course, being in-phase means being the cosine wave.
|
2015-09-10 21:30:39 -04:00 |
|
Thomas Harte
|
82aa6d074a
|
'type' is out, at least for the time being.
|
2015-09-05 20:25:30 -04:00 |
|
Thomas Harte
|
6a0b4e86c8
|
An Xcode beta version bump, nothing more.
|
2015-09-05 17:21:36 -04:00 |
|
Thomas Harte
|
53e699516b
|
Disabled multisampling unless and until I can get the per-pixel cost down.
|
2015-09-05 17:21:16 -04:00 |
|
Thomas Harte
|
7fb6c86d9d
|
Okay, it looks like colour 3 is approximately phase offset 0, and the palette wraps around after 14 entries, not 16. Also got a bit less dependent on floating point accuracy for the step.
|
2015-09-05 17:10:41 -04:00 |
|
Thomas Harte
|
39027b675d
|
Fixed YIQ conversion and made sampling pattern slightly more rational.
|
2015-09-05 17:09:24 -04:00 |
|