Thomas Harte
2c4f372872
Adds support for the .ST file format.
2019-11-12 23:23:14 -05:00
Thomas Harte
77ef7dc8fc
Shuffles ST and 2600 into a common parent.
2019-11-09 15:31:41 -05:00
Thomas Harte
e3abbc9966
Renames what didn't end up being a whole SerialPort.
2019-11-09 15:21:51 -05:00
Thomas Harte
bf7e9cfd62
Pulls the intelligent keyboard into its own file.
2019-11-02 19:47:44 -04:00
Thomas Harte
ac39fd0235
Starts work on the DMA controller.
2019-10-26 21:33:57 -04:00
Thomas Harte
2bd7be13b5
Decodes the 6850 control register, and starts working on standardised serial ports.
2019-10-20 20:38:55 -04:00
Thomas Harte
4ead905c3c
Adds an empty shell for the ACIA.
2019-10-20 20:38:55 -04:00
Thomas Harte
6e1b606adf
Adds a target for MFP read/write operations.
...
Completely without any implementation, so far.
2019-10-20 20:38:54 -04:00
Thomas Harte
da1436abd2
Gifts the Atari ST a 68000 and non-functional video.
2019-10-20 20:38:54 -04:00
Thomas Harte
8b397626bf
Adds a route through the static analyser to the Atari ST.
2019-10-20 20:38:54 -04:00
Thomas Harte
0da1881a07
Adds an Atari ST enumeration and factory method.
2019-10-20 20:38:54 -04:00
Thomas Harte
7ff4594f09
Eliminates fast loading Objective-C/Swift protocol.
...
A very long time ago, when each machine had its own Objective-C class, this protocol was used to indicate which machines support that feature. It no longer communicates anything.
2019-09-24 20:13:09 -04:00
Thomas Harte
f28c124039
Adds a route to divert key events before they reach Cocoa.
...
If you were to use this, it would have the effect of disabling in-app keyboard short-cuts in favour of routing keys to the emulated machine.
2019-09-22 13:15:01 -04:00
Thomas Harte
8a14f5d814
Updates to Xcode11 recommended project settings.
...
The updated compiler also flagged a potential issue with CPU::Z80::Register not being a namespace re: 'Refresh' versus CPU::Z80::PartialMachineCycle. I don't entirely see it, but this fixes the problem.
I also finally figured out what the compiler was trying to tell me about ROMRequester.xib.
2019-09-22 12:13:56 -04:00
Thomas Harte
2e24da4614
Implements quick booting, and edges towards exposing it on the Mac.
...
It should already work in kiosk mode.
2019-09-19 22:32:12 -04:00
Thomas Harte
1a60ced61b
Starts trying to deal with creating a whole volume from merely a partition.
2019-08-25 23:03:54 -04:00
Thomas Harte
1c6720b0db
Adds new class to Xcode project.
2019-08-25 15:09:43 -04:00
Thomas Harte
2d82855f26
Attempts to provide a data out phase.
2019-08-22 23:16:58 -04:00
Thomas Harte
faec516a2c
Starts pushing towards figuring out a proper infrastructure for mass storage.
2019-08-21 23:22:58 -04:00
Thomas Harte
252650808d
Starts seeking to unbind SCSI bus logic and command performance.
2019-08-19 22:47:01 -04:00
Thomas Harte
0e0c789b02
Starts attempting to introduce a direct access device.
...
Without having access to the SCSI-1 standard, a lot of this is guesswork.
2019-08-17 23:43:42 -04:00
Thomas Harte
ce1c96d68c
Starts thinking out the mechanics of emulating a SCSI-1 bus.
2019-08-13 23:09:11 -04:00
Thomas Harte
949c1e1668
Adds an empty shell for what will be my 5380 implementation.
2019-08-10 23:53:52 -04:00
Thomas Harte
97eff5b16d
Formally distinguishes Macintosh keys from virtual keys.
...
Also: adds mappings for keypad keys, and corrects a couple of
long-standing capitalisation errors in my virtual key set.
2019-08-02 16:15:34 -04:00
Thomas Harte
5149f290d0
Starts trying to formalise just-in-time execution.
...
Which, at least, simplifies Cycle/HalfCycle to Cycle run_for usage via template.
2019-07-28 21:49:54 -04:00
Thomas Harte
b1f04ed96d
Eliminates the crutch of PlusToo BIN files.
...
Thereby returning the .bin extension to the various consoles.
2019-07-28 16:07:16 -04:00
Thomas Harte
579f68cf11
Completes Xcode 10.3 upgrade checks.
2019-07-23 16:27:18 -04:00
Thomas Harte
a3ad0ab09b
Completes the successful import path.
2019-07-22 21:46:28 -04:00
Thomas Harte
2129bfc570
Gets as far as testing ROMs against the missing list.
...
Though now it strikes me that I've forgotten to retain the machine name.
2019-07-22 18:02:48 -04:00
Thomas Harte
8de6cd3f44
Ensures that ROM files can be dragged and dropped into Swift.
...
Also adjusts the main window background colour, better to bridge the time between selecting a machine and it starting.
2019-07-22 17:18:31 -04:00
Thomas Harte
9b9831f28b
The Mac port will now at least display a list of missing ROMs.
...
It doesn't yet offer the drag-and-drop functionality it promises, however.
2019-07-22 13:00:17 -04:00
Thomas Harte
d452d070a1
Extends the Mac ROM fetcher to return a missing-ROMs list.
2019-07-21 18:41:00 -04:00
Thomas Harte
d1d0430fce
Eliminates the SonyDrive class.
2019-07-10 17:38:05 -04:00
Thomas Harte
c4ab0bb867
Starts sketching out an interface for IWM drives, eliminating a dangling use of unsigned
as it goes.
2019-07-10 16:05:59 -04:00
Thomas Harte
886946cc8c
Rejigs time-until-event tracking.
2019-07-09 23:27:27 -04:00
Thomas Harte
ab14433151
Tweaks optimisation level.
2019-07-09 18:07:43 -04:00
Thomas Harte
6e7a733c3c
Adds appropriate files to the Mac kiosk build.
2019-07-08 16:57:13 -04:00
Thomas Harte
d30e7504c2
Factors out MOVE tests, and ensures test machine RAM is zero initialised.
2019-06-30 21:43:30 -04:00
Thomas Harte
9d420c727e
Factors out rolls and shifts.
2019-06-29 14:12:52 -04:00
Thomas Harte
6a44c682ad
Factors out control flow tests.
2019-06-29 13:47:05 -04:00
Thomas Harte
ac926f5070
Factors BCD out of general arithmetic.
2019-06-29 13:31:24 -04:00
Thomas Harte
a8894b308a
Splits out arithmetic tests, as so far implemented.
...
Further subdivision may be advisable.
2019-06-28 22:08:32 -04:00
Thomas Harte
7cc91e1bc5
Factors the bitwise tests out of the main bundle, as that pushes up towards 6,000 lines.
2019-06-28 21:58:38 -04:00
Thomas Harte
68a3e5a739
Renamed DiskCopy42 to MacintoshIMG, now that it's not just DiskCopy 4.2 files.
2019-06-18 14:32:58 -04:00
Thomas Harte
fe0dc4df88
Starts building out some tests for Apple GCR encoding.
2019-06-15 22:48:24 -04:00
Thomas Harte
5630141ad7
Ensures randomised memory contents at startup.
2019-06-13 13:35:16 -04:00
Thomas Harte
109953ef49
Ensures proper routing of mouse events from Cocoa.
2019-06-11 18:41:41 -04:00
Thomas Harte
a0321aa6ff
Starts sketching out an emulator interface for mice.
2019-06-11 17:47:24 -04:00
Thomas Harte
697e094a4e
Sketches out the absolute basics of an SCC interface.
2019-06-08 18:47:11 -04:00
Thomas Harte
b8a1553368
Adds putative support for PlusToo-style BIN files.
...
Albeit a bit of a guess, since it's not intended to be an emulator file format.
2019-06-04 21:41:09 -04:00
Thomas Harte
85298319fa
Expands towards supporting multiple Macintosh models.
...
To provide another variable to help with bug isolation.
2019-06-03 14:50:36 -04:00
Thomas Harte
881feb1bd3
Adds preliminary parsing of the Disk Copy 4.2 format.
2019-06-02 13:39:25 -04:00
Thomas Harte
3e9fa63799
Adds a receiver for drive-motor control bytes.
...
My new belief is that I'm either reading the buffer from the wrong place, or the 68000 isn't filling it for some reason.
2019-06-01 19:31:32 -04:00
Thomas Harte
6d985866ee
All proper inputs are now provided to the audio generator.
...
Hopefully. The next job is to generate audio. If that sounds correct, then the disk motor speed question can be tackled.
2019-06-01 15:03:15 -04:00
Thomas Harte
723137c0d4
With some time additions to the 6522, starts wiring in Macintosh audio.
...
The audio buffer is also the disk motor buffer, so this is preparatory to further disk work.
2019-06-01 14:39:40 -04:00
Thomas Harte
254132b83d
Eliminates 6522Base in pursuit of working handshake modes.
...
Specifically: this means that the places from which the BusHandler may be called are more numerous.
2019-05-08 12:35:17 -04:00
Thomas Harte
7e6d4f5a3e
Adds emulation of the real-time clock.
2019-05-08 00:12:19 -04:00
Thomas Harte
96facc103a
Adds an IWM shim and corrects graphics output.
...
... now that there is some.
2019-05-05 21:55:34 -04:00
Thomas Harte
68392ce6f5
Adds enough of a concept of Mac video to get a properly initialised display.
...
Completely empty at present, naturally. Also this is the very first time I've run my 68000 at live speed. From just one data point, it's not terrible. Phew!
2019-05-03 23:25:42 -04:00
Thomas Harte
6873f62ad8
Ensures that the Mac now retains its ROM properly.
2019-05-03 22:39:09 -04:00
Thomas Harte
5f385e15f6
Adds the bare bones necessary to be able to create a Macintosh from File -> New... .
2019-05-03 22:16:07 -04:00
Thomas Harte
8c5d37b6ee
Refactors the AppleII into a sub-namespace to make room for other Apple machines.
2019-05-03 18:14:10 -04:00
Thomas Harte
d6e16d0042
Adds a test of TOS 1.00, as far as it goes without meaningful hardware.
2019-04-29 18:04:57 -04:00
Thomas Harte
5b5bfc8445
Applies trace testing to EmuTOS.
2019-04-29 16:55:21 -04:00
Thomas Harte
c466b6f9e7
Factors out the [unit testing] stuff of being a trace-checking 68000 bus handler.
2019-04-29 16:11:01 -04:00
Thomas Harte
3983f8303f
Introduces failing test of 68000 opcode coverage.
2019-04-25 22:06:05 -04:00
Thomas Harte
7df85ea695
Cleans up and formally introduces a comparative source for QL startup.
2019-04-25 15:42:41 -04:00
Thomas Harte
52e33e861c
Starts to introduce the QL as a second source for 68000 testing.
...
It's advantageous over the ST in that a commented disassembly of the ROM is available.
2019-04-14 22:15:09 -04:00
Thomas Harte
7f5c637aeb
Updates to Swift 5.
2019-03-26 22:15:38 -04:00
Thomas Harte
6f0eb5eccd
Merge branch 'master' into 68000
2019-03-26 21:03:57 -04:00
Thomas Harte
69a2a133d5
Performs basic migration to Xcode 10.2 — project settings, the one new warning, etc.
2019-03-26 19:47:41 -04:00
Thomas Harte
f9101de956
This might very well be the 68000's first real gasp: performing an ABCD.
2019-03-14 19:32:15 -04:00
Thomas Harte
89c71f9119
Introduces EmuTOS, and starts constructing test cases around it.
2019-03-10 18:40:12 -04:00
Thomas Harte
a4f6db6719
Removes ArrayBuilderTests as the ArrayBuilder is long gone. Disables TIA tests for now.
2019-03-10 18:07:23 -04:00
Thomas Harte
de56d48b2f
Embraces a more communicative 68000 bus.
2019-03-10 17:27:34 -04:00
Thomas Harte
b9b52b7c8b
Begins some very early sketching out of a 68000.
2019-03-09 00:00:23 -05:00
Thomas Harte
86a6b04d4a
Begins attempts to keep track of display metrics.
...
i.e. a system that can both make smart decisions about when to use a lower resolution, and hopefully allow some sort of flywheel-esque horizontal retrace synchronisation. And possibly some raster beam chasing?
2019-03-04 21:54:50 -05:00
Thomas Harte
d122535a65
Unifies the OpenGL screenshot code and corrects it for arbitrary alignment.
2019-02-27 21:05:02 -05:00
Thomas Harte
20b4896940
Eliminates the dead stuff of CRTConstants.hpp.
2019-01-25 19:11:39 -05:00
Thomas Harte
dd4af4f0df
Removes dead files.
2018-11-24 22:40:06 -05:00
Thomas Harte
6b42b92930
Kills CRTOpenGL.cpp and simplifies shader output very slightly.
2018-11-24 17:37:58 -05:00
Thomas Harte
8a699b6072
Kills setup_output
definitively, saving some indirection. set_scan_target
takes its place.
2018-11-14 21:52:57 -05:00
Thomas Harte
91b19c5c70
Adds bookending, and finally kills the TextureBuilder. Farewell.
2018-11-14 20:49:06 -05:00
Thomas Harte
938d09f34a
Corrects scan outline generation.
2018-11-12 18:23:45 -05:00
Thomas Harte
dce52d740d
Finally gets some pixels back on screen.
...
For now, just the raw scans, direct to the framebuffer, with no intermediate processing. But it seems to prove that at least some of the proper data is reaching the GPU.
2018-11-11 23:23:42 -05:00
Thomas Harte
3ae333fa84
Edges further towards reviving the shaders.
2018-11-11 21:41:13 -05:00
Thomas Harte
d5af1f3948
Removes some migrated work.
2018-11-11 16:22:14 -05:00
Thomas Harte
7881e40e0b
Shuffles the OpenGL primitives into their own collection.
2018-11-07 19:11:01 -05:00
Thomas Harte
55da1e9c0f
Simplifies semantics a little and starts accepting a single buffer of pixel data.
2018-11-06 22:23:38 -05:00
Thomas Harte
b40211d2c0
Starts to bend 'CRTMachine' to a world farther from owning the GPU relationship.
2018-11-03 21:54:25 -04:00
Thomas Harte
da4d883321
Adds first, incomplete attempts to talk to a ScanTarget from the CRT.
...
Does away with the hassle of `unsigned` while I'm here; that was a schoolboy error.
2018-11-03 19:58:44 -04:00
Thomas Harte
c128ddb549
Introduces a first unit test for line interrupts and corrects backup behaviour.
2018-10-09 21:49:21 -04:00
Thomas Harte
00b2db4fb9
Ensures the Master System is informed when it should pretend to be an SG1000.
2018-09-23 16:34:47 -04:00
Thomas Harte
0d01346ad4
Advertises SMS support and goes as far as realising it needs to spawn a Master System.
2018-09-20 22:04:28 -04:00
Thomas Harte
97a89aaf4d
Factors out the stuff of deferred action interleaving, as I suspect it'll come in handy.
2018-08-24 20:04:26 -04:00
Thomas Harte
1a44ef0469
Introduces Klaus Dorman's 65C02 tests. All failing.
2018-08-06 21:48:43 -04:00
Thomas Harte
09950d9414
Gamely starts to create a HID input manager for joysticks/pads/etc.
2018-07-19 22:43:01 -04:00
Thomas Harte
c9451a5382
Introduces an object for drawing OpenGL rectangles.
2018-07-14 17:42:23 -04:00
Thomas Harte
7e58a44771
Renames ConfigurationTarget
to MediaTarget
as per its newly-reduced interface.
2018-07-10 21:32:28 -04:00
Thomas Harte
abca38a548
Makes an initial removal of PCMPatchedTrack
. Farewell, old friend.
2018-07-01 22:49:57 -04:00