Thomas Harte
0dae608da5
Embraces std::make_[unique/shared] in place of .reset(new .
2019-12-23 21:31:46 -05:00
Thomas Harte
5456a4a39d
Eliminates static
where constexpr
a aren't class members; adds some if constexpr
s for clarity.
2019-12-22 13:42:24 -05:00
Thomas Harte
274867579b
Deploys constexpr
as a stricter const
.
2019-12-22 00:22:17 -05:00
Thomas Harte
a847654ef2
Corrects various old-fashioned bits of indentation, plus the odd const.
2019-12-22 00:00:23 -05:00
Thomas Harte
05d77d3297
Also deploys make_unique/shared to avoid type repetition.
2019-12-21 23:52:04 -05:00
Thomas Harte
e9318efeb6
Switches to std::make_shared/make_unique in a bunch of applicable places.
...
No doubt many more similar improvements are available, these are just the ones that were easy to find.
2019-12-21 23:34:25 -05:00
Thomas Harte
993dfeae1b
Standardises on -O2, C++17.
2019-12-21 20:25:43 -05:00
Thomas Harte
57ce10418f
Switches prescale logic, the better to deal with changes in prescaler.
...
According to my assumptions about the behaviour, anyway.
2019-12-20 23:33:14 -05:00
Thomas Harte
47508d50a7
Wires through a composite video option for the ST.
...
Which is great and all, except that I've not yet inserted a colour burst. So it's monochrome.
2019-12-20 20:49:14 -05:00
Thomas Harte
797abae4b3
Compacts gaps when necessary to fit more sectors.
2019-12-19 19:36:19 -05:00
Thomas Harte
5ce612cb38
Adds the Atari ST to File -> New in Cocoa world.
2019-12-17 23:04:12 -05:00
Thomas Harte
9464658d1e
Adds a count summary.
2019-12-17 22:19:23 -05:00
Thomas Harte
e969b386f1
Eliminates DIVU/S and MULU/S from this file.
2019-12-17 20:15:11 -05:00
Thomas Harte
0d23f141d6
Regenerates without accidentally hitting MODE to SR.
2019-12-16 22:37:57 -05:00
Thomas Harte
ba2436206f
Withdraws test of CHK (exception taken).
2019-12-16 20:00:42 -05:00
Thomas Harte
60a9b260b1
Corrects collection of instruction codes.
2019-12-16 00:01:18 -05:00
Thomas Harte
e603fc6aaa
Simplifies failure output for me.
2019-12-15 21:26:47 -05:00
Thomas Harte
81cc278b98
Introduces a barrage of further tests.
2019-12-15 21:26:35 -05:00
Thomas Harte
f23c5ada31
Ensures tests can be built as a release target.
2019-12-14 23:53:12 -05:00
Thomas Harte
1bf4686c59
Adds plentiful additional tests. Though still only a fraction of the anticipated total.
2019-12-14 22:58:51 -05:00
Thomas Harte
a500fbcd73
Expands tests to most of ORI, EORI, ANDI, ADDI and SUBI.
2019-12-14 22:23:40 -05:00
Thomas Harte
d0ef41f11e
Adds a temporary manual escape clause for testing specific features.
2019-12-14 21:40:21 -05:00
Thomas Harte
adf6723bf6
Ensures state is evaluated directly at opcode end.
2019-12-14 15:09:06 -05:00
Thomas Harte
37e26c0c37
Eliminates a class of incorrect sign comparison errors.
2019-12-14 14:50:39 -05:00
Thomas Harte
ac1575be27
Resolves false negatives from checking wrong state.
2019-12-14 14:46:00 -05:00
Thomas Harte
923287bf01
Attempts to introduce a basic means for comparative 68000 testing.
...
i.e. mine versus another source.
2019-12-14 14:26:33 -05:00
Thomas Harte
4536c6a224
Resolves printf type errors.
2019-12-08 11:56:05 -05:00
Thomas Harte
72cb3a1cf6
Integrates basic unit test for Atari ST video event prediction.
2019-11-19 21:54:13 -05:00
Thomas Harte
ade8df7217
Permits a delay on DE propagation back to the CPU. Plus tests.
...
Currently set at 28 cycles, but I don't know.
2019-11-18 22:12:24 -05:00
Thomas Harte
2c4f372872
Adds support for the .ST file format.
2019-11-12 23:23:14 -05:00
Thomas Harte
eb287605f7
Switches to a default of TOS 1.04.
2019-11-12 19:38:30 -05:00
Thomas Harte
2c25135d8a
Fixes const correctness for joystick machines; the ST is now one such.
2019-11-09 18:19:05 -05:00
Thomas Harte
860837d894
Corrects: KeyPad -> Keypad. Also fleshes out Atari ST keyboard mapping.
2019-11-09 18:02:14 -05:00
Thomas Harte
837dfd1ab8
Corrects StaticAnalyser references.
2019-11-09 16:14:00 -05:00
Thomas Harte
c4fefe1eb3
Updates SConstruct.
2019-11-09 15:42:19 -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
0b683b0360
Adds some sanity checks.
2019-11-08 20:46:24 -05:00
Thomas Harte
6afefa107e
Resolves unused variable warning.
2019-11-05 23:18:25 -05:00
Thomas Harte
bf7e9cfd62
Pulls the intelligent keyboard into its own file.
2019-11-02 19:47:44 -04:00
Thomas Harte
1c154131f9
Expands size of storage in Cycles/HalfCycles; adjusts widely to compensate.
2019-10-29 22:36:29 -04:00
Thomas Harte
92847037b3
Merge branch 'master' into AtariST
2019-10-27 21:40:51 -04:00
Thomas Harte
1aba1db62c
Corrects test.
2019-10-27 21:30:58 -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
345b32d6e3
Implements read-only MSA support.
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
c089d1cd09
Improves text; nobody normal knows that this is "a view".
2019-09-24 22:52:08 -04:00
Thomas Harte
6adca98f34
Adds Macintosh choice to File -> New...
2019-09-24 22:48:34 -04:00
Thomas Harte
7112f0336c
Rationalises protocol for application-level event theft.
2019-09-24 22:31:20 -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
8489e8650f
Attempts another draft of not inundating the user with open file dialogues.
2019-09-22 13:59:31 -04:00
Thomas Harte
114f81941e
Completes the wiring necessary for capture of the command key.
...
At least when coupled with mouse capture.
2019-09-22 13:53:38 -04:00
Thomas Harte
8f88addf9f
Establishes an interface for requesting shortcut theft. Not yet implemented.
2019-09-22 13:15:35 -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
3e639e96e7
Shows the auto-open dialogue only at most once.
2019-09-21 18:01:16 -04:00
Thomas Harte
5f16fa8c08
Removes dead reference to video from VIAPortHandler.
2019-09-21 17:39:45 -04:00
Thomas Harte
8ea4c17315
Completes Mac GUI wiring.
2019-09-19 22:37:23 -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
839e51d92d
Adds newest files to SConstruct.
2019-09-18 21:49:57 -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
081316c071
Adds some additional commentary as this takes shape.
2019-08-25 17:46:05 -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
8e274ec5d0
Merge branch 'master' into SCSI
2019-08-21 22:38:18 -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
C.W. Betts
4c5f596533
Update CSMachine.mm
...
No need to create a temporary NSNumber object to be passed to a variadic method.
2019-08-10 00:43:30 -06:00
Thomas Harte
b6e4c8209b
Switches to showing 'File -> Open...' at launch.
...
As per the prevailing wind.
2019-08-04 21:34:30 -04:00
Thomas Harte
f88dc23c71
Corrects comment.
2019-08-04 20:30:41 -04:00
Thomas Harte
e334abfe20
Partitions the 68000 arithmetic tests, to allow easier per-instruction execution.
2019-08-03 17:44:47 -04:00
InvisibleUp
f2b083f4de
Allow for scons to run on Python 3
2019-08-03 00:33:53 -04:00
Thomas Harte
e08a64d455
Fixes erroneous instruction.
2019-08-02 21:04:53 -04:00
Thomas Harte
f45de5b87a
Adds how-to-release-the-mouse instructions for Cocoa.
2019-08-02 17:07:51 -04:00
Thomas Harte
011d76175c
Adds mouse release instructions for SDL.
2019-08-02 16:38:05 -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
f64ec11668
Tidies up and simplifies panel flow.
2019-08-01 14:31:45 -04:00
Thomas Harte
c41cccd9a6
Adds a workaround to display the ROM import banner even from File -> Open... .
2019-07-30 13:07:33 -04:00
Thomas Harte
7dcad516bd
Undoes incorrect project change.
2019-07-29 17:21:34 -04:00
Thomas Harte
2f2478d2d3
Implements AsyncJustInTimeActor, experimentally.
2019-07-29 16:38:57 -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
f2ae04597f
Updates test case.
2019-07-24 22:07:17 -04:00
Thomas Harte
0187fd8eae
Hides all runtime Program member accesses behind macros.
...
... and fixes unit tests.
2019-07-24 12:01:30 -04:00
Thomas Harte
3da47318b1
Updates copyright year.
2019-07-23 18:03:37 -04:00
Thomas Harte
579f68cf11
Completes Xcode 10.3 upgrade checks.
2019-07-23 16:27:18 -04:00
Thomas Harte
374cac0107
Adds negative feedback to ROM installation process.
...
As an ugly kludge, code wise.
2019-07-23 16:24:23 -04:00
Thomas Harte
4d361b1952
Adds MIME type for Apple-recognised disk images.
2019-07-23 11:36:47 -04:00
Thomas Harte
a3ad0ab09b
Completes the successful import path.
2019-07-22 21:46:28 -04:00
Thomas Harte
ed0c4c117b
Ensures that machine name reaches Swift.
2019-07-22 21:18:30 -04:00
Thomas Harte
2432151bf8
Puts machine name into ROMMachine::ROM.
...
Also switches to idiomatic exit codes.
2019-07-22 21:14:21 -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