Christian Speckner
5da20a3a7a
Savestate handling.
2017-06-15 17:16:06 +02:00
Christian Speckner
bdded5e600
Wait for frame handling to stabilize before drawing.
2017-06-15 17:12:39 +02:00
Christian Speckner
c2ce1943ca
Fix loading and saving TIA state.
2017-06-15 16:13:07 +02:00
Christian Speckner
cf55f5d413
Fix buggy blanking of line 0.
2017-06-14 12:37:57 +02:00
Stephen Anthony
44ead7b926
Updated std::map to use emplace instead of insert (optimization).
2017-06-09 14:50:11 -02:30
Christian Speckner
1ecb8852de
Use console timing instead of frame layout in order to determine clock in paddle reader.
2017-05-31 00:01:11 +02:00
Stephen Anthony
5dbd9fee51
Some changes to phosphor blending:
...
- Updated default phosphor blend to '30'.
- Added shortcut keys Alt-i and Alt-o to decrease/increase phosphor
blend mode dynamically, while a ROM is running.
- Made range of blending 0 - 100.
2017-05-29 10:49:50 -02:30
Stephen Anthony
ef9816014d
Set default phosphor blend to 60; looks the most realistic on my test systems.
2017-05-28 19:53:48 -02:30
Stephen Anthony
c8abbf50fb
Fixed minor compile warnings in Visual Studio.
2017-05-28 18:51:46 -02:30
Stephen Anthony
f8ea61875c
Implemented new phosphor mode by Thomas Jentzsch.
...
- Phosphor mode with Blargg effects is currently broken.
2017-05-28 16:15:39 -02:30
Stephen Anthony
e419bbbcab
Sample playback update for BUS & CDF.
2017-05-28 14:40:51 -02:30
Stephen Anthony
79d8ed0010
Fixed TIA image in debugger being two frames behind.
2017-05-28 13:55:23 -02:30
Stephen Anthony
ea7a20a5a0
Merge branch 'master' of https://github.com/stella-emu/stella
2017-05-27 14:10:35 -02:30
Stephen Anthony
cdd336857e
Added 'fallthrough' directive in cases where we fall through a case statement.
2017-05-27 14:10:05 -02:30
Christian Speckner
8d46679286
Implement proper RDY emulation --- fixes #42 .
2017-05-27 01:00:03 +02:00
Philip James
6ff2095a9f
Fixed compile when --disable-cheats is passed to configure
2017-05-18 09:12:25 -02:30
Christian Speckner
b2c8c3ff81
DelayQueue tuning:
...
* Remove stringstream from DelayQueueMember::name
* Use a bit mask instead of modulo in DelayQueue
2017-05-16 01:26:07 +02:00
Philip James
f9368c681a
Cleaned up a few places that still used SDL types and replaced them with BSPF types
2017-05-15 07:55:25 -02:30
Stephen Anthony
074f4ec2e0
Updated VS build for recent DelayQueue changes.
2017-05-14 22:48:13 -02:30
Stephen Anthony
336dbb0de4
PAL colour-loss is disabled by default.
2017-05-14 22:38:18 -02:30
Christian Speckner
744571b1da
Optimization: rewrite DelayQueue w/o STL vectors.
2017-05-15 00:43:18 +02:00
Stephen Anthony
145d47315e
Update to BUS FastJump.
2017-05-13 18:12:14 -02:30
Stephen Anthony
78cb21d798
Fixed PAL color-loss effect bug when the ROM always has an odd # of lines.
2017-05-12 18:12:32 -02:30
Stephen Anthony
73fe5f3b40
Oops, forgot to remove some debugging info.
2017-05-12 16:31:27 -02:30
Stephen Anthony
fb5daa483b
Re-activate PAL colour-loss effect.
...
- Only activates in PAL-like modes (PAL and PAL60)
2017-05-12 16:29:46 -02:30
Darrell Spice, Jr
1c9343e0e4
Update to CDF FastJump
...
Revised CDF so "false" reads after NOPs, taken branch instructions, etc. no longer crash JMP FASTJMP
2017-05-12 16:13:16 -02:30
Christian Speckner
362f7c2888
Reimplement jitter; fixes #11 .
2017-05-09 00:10:14 +02:00
sa666666
2adbe7a3fc
Merge branch 'master' into master
2017-05-07 17:40:11 -02:30
Darrell Spice, Jr
490724c079
Updated BUS to new spec
...
The Harmony/Melody BUS driver is undergoing a major revision to add support for the new JMP FASTJUMP feature. This update implements the changes, as well as the fast jump feature which isn't yet in the HMdriver. It also implements the load/save state support as well as the BUS debugger widget.
A few minor updates to CDF were also done.
Note that this update breaks compatibility with the previous BUS demos.
2017-05-07 14:43:54 -05:00
Stephen Anthony
a87334a268
Great colon purge Part2: RIOT tab and controllers.
2017-05-06 14:06:19 -02:30
Stephen Anthony
6ba627e059
Show error message when a dialog box can't be opened.
...
Rework defaults for ROM launcher and TIA zoom level.
Both of these are basically defined around having only a 640x480
screen, which hasn't been the case on hardware (even phones) for
about 10 years.
2017-05-05 16:50:02 -02:30
Stephen Anthony
847e910d26
Added new darker colour for togglewidget background disabled bits.
2017-05-04 09:36:32 -02:30
Stephen Anthony
1d30f1ddc0
Rearranged debug colours and collision widgets in TIA tab.
2017-05-03 20:01:08 -02:30
Stephen Anthony
2973d03e01
Added VDel and togglewidget for new/old ball in debugger TIA tab.
...
Cleaned up some minor spacing issues in previous CDF commit.
2017-04-30 14:42:06 -02:30
Darrell Spice, Jr
4958ca3d93
CDF updates
...
* Implemented load/save state.
* Updated the debugger tab, which required the following:
- removal of : from RAM labels (part of the debugger overhaul)
- setCrossed() functionality in the DataGrid
2017-04-30 13:39:40 -02:30
Stephen Anthony
ba2bed21b5
Fix potential crash in ARM code in DPC+ scheme.
2017-04-27 20:24:19 -02:30
Stephen Anthony
a0e1ec322a
Update statefile # for recent statefile format changes.
2017-04-25 20:20:54 -02:30
Stephen Anthony
3e1b03bed5
3 voice music correction for CTY scheme.
2017-04-25 19:26:04 -02:30
sa666666
dc5a0bdba1
Merge pull request #122 from SpiceWare/master
...
3 voice music correction
2017-04-25 19:24:34 -02:30
Darrell Spice, Jr
742eb36654
3 voice music correction
...
Christian discovered a bug in the updateMusicModeDataFetchers() function used by BUS, CDF, and DPC+.
2017-04-25 16:27:39 -05:00
Christian Speckner
24e449c5d4
Setters for player and ball old registers.
2017-04-25 22:58:05 +02:00
Darrell Spice, Jr
86ecaca7d9
Updates to BUS
...
Add digital sample support to BUS.
2017-04-25 08:38:06 -05:00
Christian Speckner
ea7792d57a
Add getters for old / new GRPx / ENABL registers.
2017-04-24 23:47:06 +02:00
Christian Speckner
f51c6c983b
Show queued GRPx / ENABL shuffles in delay queue widget.
2017-04-24 23:42:44 +02:00
Darrell Spice, Jr
3b0b6127cc
Merge remote-tracking branch 'stella-emu/master'
2017-04-23 18:07:54 -05:00
Christian Speckner
ce204901dc
Flush the line cache after stepping.
...
Ensures that the display will match the step afterwards.
2017-04-24 00:34:25 +02:00
Christian Speckner
24cb2417fc
Port improved line caching from 6502.ts .
2017-04-23 23:37:30 +02:00
Darrell Spice, Jr
26e9144468
Merge remote-tracking branch 'stella-emu/master'
2017-04-23 16:09:31 -05:00
Darrell Spice, Jr
a4fdab5534
Updated CDF to new spec.
...
The Harmony/Melody CDF driver underwent a major revision to add support for the new JMP FASTJUMP feature. Note that this update breaks compatibility with the previous CDF demos.
3-Voice Audio and Digital Sample playback are in place, though both sound "off" so further work will need to be done. Debugger Widget needs additional work, and state save/load support needs to be finished.
2017-04-23 15:48:12 -05:00
Stephen Anthony
07f605d8be
Minor documentation/commenting update for Paddle class.
2017-04-08 00:29:35 -02:30
Stephen Anthony
435608422b
Updated fixed debug colours to match in NTSC and PAL.
2017-04-06 17:26:17 -02:30
Stephen Anthony
d3b50b5194
Fixed some minor issues with DelayQueueWidget.
...
- Removed redundant code to get TIA write address labels
- Added '$' to indicate hex output
- Added newlines to affected files.
2017-04-04 17:38:45 -02:30
Christian Speckner
3df449603e
Delay queue widget: Finishing touches
...
* Reorder widgets in TIA tab
* Change background color to readonly
* Pacify compiler warning in iterator
* Fix typo in TiaDebug
2017-04-04 21:55:16 +02:00
Christian Speckner
467c45e7b2
Delay queue widget: replace mock.
...
* Add an iterator for interating over delay queue entries
* Dynamically build delay queue widget content from iterator
* Refactor shadow registers to reflect a possible delay
2017-04-04 00:39:55 +02:00
Stephen Anthony
ae65f95848
Updated debugger read-only UI items background colour.
2017-04-01 19:11:59 -02:30
Stephen Anthony
3e5df9c7bc
Non-editable UI items in the debugger are now shown with a different background color.
2017-04-01 17:04:40 -02:30
Stephen Anthony
58f93c1930
Fixed inheritance issue with Widget::wantsFocus() and child classes.
...
Changed some code in TIA class to eliminate function calls.
Minor code refactoring wrt d'tors.
2017-04-01 15:41:34 -02:30
Stephen Anthony
f041de441f
Bumped state version #, since recent changes have made old
...
state files invalid (and cause a crash on my system, at least).
2017-03-30 14:51:31 -02:30
Stephen Anthony
4a8ff43fe2
Match override to virtual method, to stop compiler from complaining.
...
Also, if we don't know if a method should be const, then it needs
to be :)
2017-03-29 19:59:01 -02:30
Christian Speckner
988b36010b
Positioning for missiles and ball.
2017-03-29 22:53:42 +02:00
Christian Speckner
d00698c3e4
Better naming, implement player position setters
2017-03-29 22:02:15 +02:00
Christian Speckner
a7fc82cbea
Position readout for players.
2017-03-29 20:14:43 +02:00
Christian Speckner
f1eb76303c
Finish introduction of shadow registers:
...
* Reenable all register readouts
* Refer to shadow registers in all readouts
* (De)serialize shadow registers
2017-03-29 19:32:57 +02:00
Christian Speckner
b3bfc86ccc
Introduce shadow registers, start refactoring TIADebug to use them.
2017-03-29 18:18:35 +02:00
Christian Speckner
eb209ee1dd
Fix sign error with myXDelta.
2017-03-29 17:58:28 +02:00
Christian Speckner
d6fbc23b60
Fix cursor in frame preview.
2017-03-29 17:46:25 +02:00
Stephen Anthony
3a8967f349
Fixed minor warnings in Xcode build.
2017-03-27 16:54:19 -02:30
Stephen Anthony
94cd456076
Final state load/save updates for DelayQueue.
2017-03-25 21:29:43 -02:30
Stephen Anthony
73beb8cb40
Re-enabled TIA::saveDisplay() and TIA::loadDisplay().
...
This means the debugger rewind feature is working again. More testing
is required to make sure this is the same as Stella 4.x functionality.
2017-03-25 19:32:58 -02:30
Stephen Anthony
fd4122e017
Re-abled state loading/saving.
...
There's still a few final items to fix, but it's 99% complete.
2017-03-25 17:58:58 -02:30
Stephen Anthony
90aa152f59
Re-enable viewing TIA sound output in the debugger.
...
This code is only temporary, until we more properly deal with it
in the new sound core.
2017-03-24 21:13:31 -02:30
Stephen Anthony
7a0f322224
Remove all references to CX22/CX80 for trakball-like controllers.
...
Applicable controllers are now (consistently) named either
Amigamouse, Atarimouse or Trakball.
2017-03-24 20:29:30 -02:30
Christian Speckner
6c41bf6405
Don't start missile decodes while RESMPx is set. Fixes #83 .
2017-03-24 22:29:09 +01:00
Stephen Anthony
95c7b30a45
Some updates to the last BUS/CDF commit:
...
- update some code to the '5.0' way of doing things
- allow compilation in Linux
- whitespace/tab fixes to match main codebase
- add some extra comments
- test compile under gcc 6 and clang 5, and fix some warnings
2017-03-24 18:02:08 -02:30
Darrell Spice, Jr
6227186feb
Preliminary support for BUS and CDF
...
Preliminary support for new Harmony/Melody drivers BUS and CDF. Work remains for the 3-Voice Audio, Digital Sample playback, and some additional revisions to the debugger widgets.
2017-03-23 21:25:33 -05:00
Stephen Anthony
db3ce957a5
Implemented console timing changes in a more general way.
...
There is now a virtual consoleChanged() method called on
a device when the console changes. If the device is
interested in this notification, it simply has to implement
the method.
Updated DPC+ scheme to implement this method, so that the
Thumbulator object is automatically told whenever the console
changes, and can adjust its internal timing accordingly.
2017-03-22 15:46:48 -02:30
Unknown
97a229dd92
ARM Timer 1 support
...
Implemented ARM Timer 1 support in Thumbulator. Revised DPC+ to use it.
2017-03-20 21:55:27 -05:00
Christian Speckner
25261fff78
Fix a small ommission.
2017-03-20 00:40:42 +01:00
Christian Speckner
7325cd8034
Fully match missile starfield to hardware.
2017-03-20 00:31:29 +01:00
Christian Speckner
3b45bbd238
Fix RIOT load / save.
2017-03-19 22:39:54 +01:00
Christian Speckner
317169c59a
Properly emulate interrupt flag behavior of INITM read on wraparound.
2017-03-19 22:26:00 +01:00
Stephen Anthony
a07a607c76
Console timing info is now available through Console::timing()
...
and TIA::consoleTiming(). This allows to query the TIA about
specific version of the console being emulated, which can be
distinct from the frame layout used by the TIA itself.
2017-03-18 19:50:48 -02:30
Christian Speckner
41e2f77333
Adapt missile starfield to match my own hardware.
2017-03-18 14:15:11 +01:00
Stephen Anthony
0c7b9aa079
Fixed comment error: Superchip is only 128 bytes RAM (but 256 bytes
...
of address space taken).
2017-03-16 20:59:52 -02:30
Stephen Anthony
0e712b39e1
Optimized Cart::isProbablySC. Perhaps a small change, but more
...
efficiency never hurts.
2017-03-16 20:41:37 -02:30
Stephen Anthony
02a399a8aa
Fixed Superchip autodetect for Dig Dug as discussed on AtariAge.
2017-03-16 18:46:43 -02:30
Stephen Anthony
3950f80a30
Refactoring, convert TvMode to FrameLayout as per AtariAge thread.
2017-03-15 20:57:03 -02:30
Stephen Anthony
59a6f8f9d1
Made formatting for new code in M6532 class match what was already there
...
(just an OCD thing). Updated changelog for new RIOT changes.
2017-03-14 19:32:33 -02:30
Christian Speckner
05b10bec6b
Rework RIOT timer to match real hardware behavior.
2017-03-14 01:27:11 +01:00
Stephen Anthony
7cbec18f5a
Updated ROM properties; remove some default values, add missing entries.
2017-03-12 21:08:39 -02:30
Stephen Anthony
68f9831061
Make sure that every frame draws all scanlines in the height of the window.
...
If the ROM doesn't reach that far, blank out all further scanlines.
Optimize FrameManager::height() method.
2017-03-11 16:53:04 -03:30
Christian Speckner
4a71e48a07
NUSIZ player improvements.
...
Match NUSIZ during draw / decode and hblank to hardware behavior.
2017-03-10 09:18:14 +01:00
Stephen Anthony
2057b1421c
Set ROM launcher framerate to 30fps. There's no need for it to be
...
a full 60fps, and it reduces CPU usage up to 30% on some systems.
2017-03-08 18:13:01 -03:30
Christian Speckner
e02166092d
Improve player NUSIZ during hblank.
2017-03-08 00:01:41 +01:00
Stephen Anthony
a2c98e2409
Fixed 'read past end of array' crash.
2017-03-06 18:11:10 -03:30
Stephen Anthony
acd5b3c813
Final set of ystart adjustments (hopefully), taking care of corner cases
...
for weird ROMs, etc.
2017-03-06 13:32:28 -03:30
Christian Speckner
d429b79d78
Improve ystart detection:
...
* Fix transition locked -> floating
* Lock detected value after 30 stable frames
2017-03-06 00:28:31 +01:00
Stephen Anthony
e18fe2005d
Add DK VCS to properties database.
2017-03-05 15:20:56 -03:30
Christian Speckner
c7da6c5b26
New frames always start on line 0.
2017-03-05 14:41:28 +01:00
Stephen Anthony
bb18b3e777
Updated properties to RomHunter v12.
2017-03-04 16:06:53 -03:30
Stephen Anthony
185119eed9
When manually changing ystart from auto-detect mode, note when the
...
manually selected ystart line matches the auto-detected one, and reset
it in the ROM properties. This makes sure that auto-detected values
are actually stored as '0', and not the auto-detected value.
Fixed ystart for 'Swoops' ROM.
2017-03-04 14:41:05 -03:30
Stephen Anthony
37774e08b8
Re-sync load() and save() methods in TIA class.
2017-03-03 22:04:30 -03:30
Stephen Anthony
b5b058c615
Made VblankManager::ystart() always return a valid ystart, either
...
autocalculated or fixed. This fixes selecting a scanline with the
mouse in TIA output widget in the debugger.
Made various methods inline for issue #7 .
2017-03-03 21:57:36 -03:30
Stephen Anthony
517ac713ad
Fixed approx. 100 ROMs that no longer need explicit ystart data
...
in the ROM properties file (due to fix to ystart autodetection).
2017-02-28 19:55:32 -03:30
Stephen Anthony
2a2797cbaf
Fixed 'mystery constant' in M6532 in two other places.
2017-02-26 20:29:18 -03:30
Christian Speckner
10245ea102
Tentatively remove the legacy kludge in RIOT timer handling.
2017-02-27 00:25:06 +01:00
Christian Speckner
8f93704559
Frame manager fixes
...
* Don't wait until next line before starting frame after vblank is
deactivated -> fixes white line on top of time pilot
* Make ystart match stella 4 conventions
2017-02-27 00:15:03 +01:00
Stephen Anthony
5114a8e88e
CX22/CX80 trakball controller has half the resolution of an
...
Atari/Amiga mouse, so do an extra divide by 2 for the counters.
2017-02-24 18:38:26 -03:30
Christian Speckner
38b452e1a0
Make sure that the resistance read from paddle controllers is always in the physical range.
2017-02-24 08:48:52 +01:00
Christian Speckner
41ec98c6c1
Fix small RSYNC regression.
2017-02-22 01:27:16 +01:00
Christian Speckner
b173da05a0
Init S to 0xFD on reset.
2017-02-21 22:21:53 +01:00
Stephen Anthony
6846aadadf
Fixed 'Maze Craze' NTSC ROMs to not use format autodetection.
2017-02-20 21:18:28 -03:30
Stephen Anthony
0d86649b47
Oops, used incorrect names in inptx serializable name() methods.
2017-02-20 21:10:24 -03:30
Stephen Anthony
8263eb1e7c
Implemented Serializable for TIA inptx registers (LatchedInput
...
and PaddleReader). For now, PaddleReader is stubbed out, since
it needs to save double values and Serializer can't do that yet.
Fixed bug in Ball, Background and Playfield serialization; they
were correctly saving data, but returning false (indicating failure).
2017-02-20 21:05:54 -03:30
Stephen Anthony
30e1996d5b
Fixed reading of VBLANK register in debugger.
2017-02-20 20:42:33 -03:30
Stephen Anthony
c99cb33cda
The TIA image in the debugger is now correctly rendered in greyscale
...
below the current electron beam position.
Fix long-standing bug whereby entering the debugger for the first time
and tracing/scanline advancing, the TIA image was blanked, and didn't
work correctly until you exited and re-entered the debugger.
Minor refactoring optimizations, and renaming of methods.
2017-02-20 19:51:59 -03:30
Christian Speckner
39f756f821
Fix paddle input if no paddles are not connected.
...
Don't charge cap if resistance is maxed.
2017-02-20 00:49:54 +01:00
Christian Speckner
75bd732525
Fix artifacts due to varying frame height and doublebuffering.
...
Duplicate myLastFrameHeight and swap the values
2017-02-19 22:28:47 +01:00
Christian Speckner
146d0afe4f
Set undefined bits on TIA read from last data bus value.
2017-02-19 15:39:54 +01:00
Christian Speckner
0efbbdec45
Debugger fixes:
...
* Fix scanline stepping during blank
* Fix start of visible range
2017-02-16 22:58:24 +01:00
Stephen Anthony
d9304fa06b
Forgot to re-initialize on load() in Playfield.
2017-02-11 22:37:11 -03:30
Stephen Anthony
c73c606638
Implemented Serializable for Background, Ball and Playfield classes,
...
since it looks like they won't be heavily modified any further.
2017-02-11 22:30:58 -03:30
Stephen Anthony
52d3bd9df3
Separated the various trakball-compatible controllers into their
...
own class, preparing for further work on issue #70 .
The 3 classes are now named more appropriately, as mentioned in
issue #70 .
2017-02-11 21:07:42 -03:30
Stephen Anthony
c80f72b367
Allow configure script to run with clang-5, and fixed a minor
...
warning when compiling with clang++-5.
2017-02-10 21:32:58 -03:30
Christian Speckner
c0a3a5394d
Minor RSYNC fixes.
2017-02-09 01:36:47 +01:00
Christian Speckner
fd95231722
Refine NUSIZ during draw decode.
2017-02-07 23:55:29 +01:00
Christian Speckner
00bfd088d3
Refactoring, add some buffering to improve performance.
2017-02-06 22:43:35 +01:00
Christian Speckner
cef5fb4da0
Avoid side effects if the divider is unchanged by a NUSIZ write.
2017-02-06 21:12:41 +01:00
Christian Speckner
1a7ac60232
Match NUSIZ during player decode or draw to real hardware.
2017-02-06 00:30:39 +01:00
Stephen Anthony
8b4096e1ef
Grabmouse is not used when using a virtual controller that doesn't output
...
analog data (ie, not a mouse). This fixes the issue of mouse grabbing
when a ROM isn't even using the mouse.
2017-01-28 19:45:30 -03:30
Stephen Anthony
94e77d3b94
Partially implemented step by scanline in the debugger; I still have
...
some questions for DirtyHairy before I can finish it.
2017-01-28 18:33:44 -03:30
Christian Speckner
f1d503a0ef
Cleanup.
2017-01-27 01:12:34 +01:00
Christian Speckner
94292bbbd1
Even more accurate RESMx.
2017-01-26 01:02:33 +01:00
Christian Speckner
990fac5895
RESMx simplification and improvements.
2017-01-25 00:11:33 +01:00
Christian Speckner
72b8f6491e
More accurately model RESMx during decode or draw.
2017-01-24 22:28:31 +01:00
Christian Speckner
efc881a284
Correct slight blunder ;)
2017-01-21 16:10:57 +01:00
Christian Speckner
ac14e40bff
Fix an oversight.
2017-01-21 00:59:29 +01:00
Christian Speckner
6070291769
Slight improvement of the description of NUSIZ during draw.
2017-01-21 00:45:00 +01:00
Christian Speckner
d521a230bd
Introduce a one clock delay on ENAM. Fixes Midnight Magic.
2017-01-20 01:02:52 +01:00
Christian Speckner
6bb64d55e2
Fix naming.
2017-01-19 00:25:44 +01:00
Christian Speckner
517b0d167a
Refactoring: move ystart detection logic into separate class.
2017-01-18 01:17:19 +01:00
Christian Speckner
f189906813
Remove _6502TS_CORE from include guards now that we have just one core.
2017-01-18 00:15:18 +01:00
Stephen Anthony
ac226eb6eb
Updated ROM properties for Coke Zero demos.
2017-01-15 15:05:16 -03:30
Stephen Anthony
96567dfd4d
A few ROM properties updates that I missed before.
2017-01-14 22:42:37 -03:30
Stephen Anthony
46d3532816
Merge branch 'master' of github.com:stella-emu/stella
2017-01-14 21:40:39 -03:30
Stephen Anthony
42122c3465
First pass to get debugger stuff working for TIA display.
2017-01-14 21:39:45 -03:30
Christian Speckner
3303f0560a
Finalize and start frames right after vsync -> stabilizes algorithm.
2017-01-15 01:34:05 +01:00
Stephen Anthony
c0aa5c83f5
Minor refactoring.
2017-01-14 13:18:12 -03:30
Christian Speckner
b0b807407a
Fix vsync locked -> floating transition.
2017-01-14 14:08:44 +01:00
Stephen Anthony
bf1ff1aae0
Change YStart and Display widgets in GameInfoDialog to be sliders
...
instead of textboxes. This allows to eliminate error checking,
since the widget will only allow sane values.
Added YStart/Display min/max variables to FrameManager, and
refactor for other parts of the codebase to use these variables.
2017-01-13 22:49:38 -03:30
Stephen Anthony
6c33dda9dd
Updated ROM properties for a few ROMs I missed before.
2017-01-13 21:08:42 -03:30
Christian Speckner
0a8b1debfc
Fix PAL autodetection:
...
* Be more tolerant when waiting for vsync during TV mode autodetect.
* Count PAL and NTSC frames during autodetect, use the mode with
more statistics.
2017-01-13 09:20:56 +01:00
Stephen Anthony
2ccb559138
Finalized update of Display.YStart in ROM properties.
2017-01-12 20:31:36 -03:30
Stephen Anthony
3cccb8bc57
Partial update of ROM properties for Display.YStart removal.
2017-01-12 14:23:32 -03:30
Christian Speckner
aba48e85cf
Limit the number of lines FrameManager waits for frame with large scanlines, refactoring.
2017-01-10 23:59:36 +01:00
Christian Speckner
a6725f2436
Enable manual TV mode selection:
...
* Make mode autodetection in FrameManager conditional, disable by
default
* Add glue for externally setting up TV mode
* Properly setup TIA TV mode in Console
* Refactoring
2017-01-10 01:22:25 +01:00
Christian Speckner
ef000d2ae5
Support manual height, remove vertical centering logic (no easy way to get this to work with ystart autodetect).
2017-01-10 00:12:25 +01:00
Christian Speckner
bd46bb4174
Implement RSYNC.
2017-01-09 00:10:55 +01:00
Christian Speckner
df1b2a99ce
Fix invalid access in FrameManager.
2017-01-09 00:10:26 +01:00
Christian Speckner
7b733d6126
Start removing ystart from props where it isn't required.
2017-01-08 00:57:27 +01:00
Christian Speckner
452f083fc1
Support fixed ystart, change ystart default to 0 = autodetect.
2017-01-08 00:31:35 +01:00
Christian Speckner
602b7b9d0d
Improve NUSIZ during player draw counter decode.
2017-01-06 00:52:25 +01:00
Christian Speckner
14ebb9772a
Fix RESM during draw counter decode.
2017-01-05 21:07:41 +01:00
Christian Speckner
eb1fe88176
Fix player decode logic reset during hblank.
2017-01-05 14:43:26 +01:00
Christian Speckner
6a2259ef2f
Avoid possible issues during bogus vsync writes.
2017-01-02 00:10:06 +01:00
Christian Speckner
a5f1a8624f
Fix what looks like an inconsistency in the calculation of scanline count.
2017-01-01 22:34:28 +01:00
Christian Speckner
a83e7eb26d
Fix garbage for ROMs with varying visible frame heights:
...
* Keep track of max frame height
* Blank out any missing scanlines
* Refactoring
2017-01-01 22:28:13 +01:00
Stephen Anthony
abb7097cb7
Removed $Id$ stuff from codebase, since it's Subversion-specific.
...
Whitespace cleanup and update copyright to 2017.
2016-12-29 20:30:30 -03:30
Christian Speckner
cbb3c46461
Tentatively adjust RESMPx for 32 pixel players by one pixel.
2016-12-21 22:39:51 +01:00
Christian Speckner
0d37bbe132
Movement from starfield effect does only affect objects less four pixels wide.
2016-12-21 21:54:40 +01:00
Stephen Anthony
44acd10973
Updated ROM properties:
...
- Star Castle Arcade (Thomas J.)
- Meltdown and Mega Bitmap Demo (fully working for the first time)
2016-12-19 18:11:57 -03:30
Stephen Anthony
a6bc247852
WSYNC should only work when the last access was a read.
2016-12-19 15:56:26 -03:30
Christian Speckner
f66a61f3b7
Tweak immediate ball rendering after RESBL -> fixes Keystone Kappers
2016-12-19 01:05:42 +01:00
Christian Speckner
7d7c0f6c9e
Refine and unify late RESx during hblank, comments.
2016-12-18 22:47:24 +01:00
Christian Speckner
f4932b8bf5
Fix INPT5.
2016-12-18 21:58:33 +01:00
Christian Speckner
b700149cde
Add a 1 cycle delay to ENABL (including delayed mode) -> fixes Super Challenge Football.
2016-12-18 14:39:24 +01:00
Christian Speckner
7b7f8767aa
Emulate final movement counter reset -> fixes Masters of the Universe.
2016-12-18 00:48:17 +01:00
Christian Speckner
39ee43ee66
Fix wide player positioning, adjust NUSIZx during decode to better match real hardware.
2016-12-17 21:46:52 +01:00
Stephen Anthony
e618a6c72c
Fixed display of FPS in the TIA message window. This also fixes sound
...
issues, since the correct framerate is being communicated to the
emulation core.
2016-12-17 13:06:56 -03:30
Christian Speckner
d77d2f2e61
Try to implement side effects of nusiz after draw dispatch -> fixes meltdown.
2016-12-17 15:17:40 +01:00
Christian Speckner
48d90768f3
Fix wide player dispatch after resp -> fixes missile command.
2016-12-16 23:40:26 +01:00
Christian Speckner
a982a334a8
Fix RESMP for 8 pixel players. Fixes frostbite ice pans.
2016-12-15 01:01:20 +01:00
Christian Speckner
65008135b8
Fix CompuMate TV mode detect
...
* Make sure that compumate runs with the proper controllers attached
* Make sure that CompuMate::myKeyTable is always valid
* Whitespace fix
2016-12-14 21:02:52 +01:00
Christian Speckner
b4eb78b127
Yet another adjustment to positionining during extended hblank.
2016-12-14 00:40:36 +01:00
Stephen Anthony
760d889478
Fixed crash in auto-detecting Compumate ROM.
...
The PAL version is still mistakenly detected as NTSC, though.
2016-12-13 20:03:12 -03:30
Christian Speckner
839ba71f20
Effectively fix the mystery positioning bug.
2016-12-14 00:03:17 +01:00
Christian Speckner
12fe183890
Simplify FrameManager state machine, smarter ystart / vblank detection.
2016-12-13 22:28:20 +01:00
Christian Speckner
f0828c597d
Checkpoint.
2016-12-13 22:28:20 +01:00
Stephen Anthony
f982f0257f
Enabled viewing TIA collision and playfield info in the debugger.
2016-12-13 12:03:54 -03:30
Stephen Anthony
7b0a82f04a
Enabled some more TIA stuff in the debugger.
2016-12-13 10:57:15 -03:30
Christian Speckner
b28dfaa31f
Add call to resetCycles.
2016-12-12 22:51:42 +01:00
Christian Speckner
a35f378d87
Improve TV mode detection logic:
...
* Skip the first view frames
* Change the algorithm to be more eager to accept mode changes until the
mode has settled for at least five frames
* If in doubt, assign odd frames to NTSC
2016-12-12 22:25:47 +01:00
Christian Speckner
b9e2fc9022
Fix VSYNC during kernel, retain conditional debug logging for later use.
2016-12-11 20:50:12 +01:00
Christian Speckner
18c31ebc2b
Add a 1 clock delay to vblank.
2016-12-11 01:27:09 +01:00
Stephen Anthony
510c103030
More of the TIA stuff in the debugger is now enabled.
2016-12-10 16:37:47 -03:30
Stephen Anthony
ac7670225b
Updated OSX project files for removal of old TIA core.
...
Re-added comments to TIA class header.
2016-12-10 14:43:46 -03:30
Stephen Anthony
4d0147f3d1
Made new TIA core the default (code now compiles).
2016-12-10 13:38:28 -03:30
Stephen Anthony
4b5a02903e
Delete old TIA core (files are only moved for now).
2016-12-10 12:45:00 -03:30
Stephen Anthony
f7e712386b
Fixed bug with SaveKey and AtariVox not properly closing their
...
memory files before starting another instance of the same ROM.
2016-12-09 19:04:14 -03:30
Christian Speckner
b3c0993dcc
Delay REFP[01] by one clock.
2016-12-09 12:50:26 +01:00
Christian Speckner
f360e7fba2
Fix iniital player width --- fixes Yar's revenge.
2016-12-09 08:27:31 +01:00
Christian Speckner
400b333386
Effective discription of starfield width modulation for missiles and ball.
2016-12-09 00:47:52 +01:00
Christian Speckner
a9d1ed3741
Fix undeflow in RESMP.
2016-12-08 22:20:51 +01:00
Christian Speckner
38d8d893aa
Fix RESMP for 16 and 32 pixel players.
2016-12-08 21:17:56 +01:00
Christian Speckner
afae00a654
Fix analog I/O:
...
* Premature optimization killed the cat --- approximated exponentioal does
not converge fast enough, replace with real thing
* Make sure that the readout circuit is updated before read
2016-12-08 00:37:12 +01:00
Stephen Anthony
072015c82a
Removed toggling of displaying HMOVE blanks. With the old core, what
...
it drew in that area was sometimes garbage, and with the new core it
draws nothing at all (which is the correct behaviour). Hence the
feature is obsolete.
2016-12-06 16:36:04 -03:30
Stephen Anthony
12bdff67b6
Missing newline at end of file (compilers complain about this).
2016-12-05 19:35:02 -03:30
Stephen Anthony
6d33db8646
Writes to TIA GFX registers are now seen in the ROM disassembly.
2016-12-05 16:55:31 -03:30
Christian Speckner
61155ace46
First stab at getting retriggering delays correct.
2016-12-05 20:32:47 +01:00
Stephen Anthony
1f54f3e263
Updated Visual Studio project file for new 6502ts TIA core classes.
2016-12-04 18:45:33 -03:30
Stephen Anthony
b9630f5e2a
Re-enable compilation with DEBUGGER_SUPPORT. The TIA stuff in the
...
debugger is currently broken, but at least the code compiles (needed
for the Windows and OSX test releases, as they aren't set up to be
compiled without the debugger.
2016-12-04 16:05:21 -03:30
Stephen Anthony
0de35eab7e
For some reason, the top comment header is missing in some files.
2016-12-04 14:50:36 -03:30
Stephen Anthony
c526d260a0
Re-enable fixed debug colors.
2016-12-04 14:48:17 -03:30
Stephen Anthony
9ca6f89778
When the new TIA core is enabled in a build, set it to the default when no
...
defaults have been specified. The reason being, testers will be running old
and new versions of Stella, and with the previous settings, they would have
to continually reset 'tia.core' every time they run a new build. Besides,
the point is for the new core to be the default, so we may as well enforce that
in the code.
2016-12-02 10:43:46 -03:30
Stephen Anthony
7bfaf10e80
Turning off HMOVE display doesn't work in the new TIA core, and really was
...
only a hack in the old core. We will eventually remove this.
2016-12-02 10:22:59 -03:30
Stephen Anthony
3bb21cdbf3
Restored TIA::height functionality, otherwise the window won't be properly sized.
2016-12-02 10:16:49 -03:30
Stephen Anthony
b34514e7f4
Implemented TIA::scanlines(), which now shows the proper scanline count in
...
the info window in the upper-left of the screen. Still TODO is tie it to the
framerate, so that when the scanline count changes, it also auto-calculates
the framerate.
Some formatting cleanups in various classes.
2016-12-02 10:07:25 -03:30
Christian Speckner
a8a4545222
Typo, more concise variable names.
2016-12-02 09:30:40 +01:00
Christian Speckner
a717890c29
Microoptimization: pre-invert collision bitmasks.
2016-12-02 09:05:35 +01:00
Christian Speckner
a1eb8fd9ab
Add toggle logic to all sprites.
2016-12-02 08:58:19 +01:00
Christian Speckner
920787aa9f
Sprite toggeling for missiles.
2016-12-02 01:11:54 +01:00
Christian Speckner
042dc72e66
Paddles / analog input.
2016-11-28 12:54:46 +01:00
Christian Speckner
3e4b975489
Add missing file.
2016-11-26 21:08:23 +01:00
Christian Speckner
d66a58557b
Always trigger draw during resbl, even during hblank.
2016-11-26 21:05:03 +01:00
Christian Speckner
34810ab25e
Fix uninitialized value.
2016-11-26 15:36:43 +01:00
Christian Speckner
92ec526d68
Simplify priority logic in score mode.
2016-11-26 13:37:19 +01:00
Stephen Anthony
1924013daf
Fixed write to CTRLPF with score mode enabled and playfield priority disabled;
...
the priority as well as the colours change from left/right screen.
Made getPixel method from each of the TIA objects inline, since they're called
so often.
2016-11-25 22:02:00 -03:30
Christian Speckner
7fad9b7cfa
Fix fractiona counter initial value.
2016-11-26 00:18:18 +01:00
Christian Speckner
2bd5074828
Add latched input.
2016-11-26 00:08:32 +01:00
Christian Speckner
e786b3307e
Add resmp.
2016-11-25 23:23:04 +01:00
Stephen Anthony
6818da1566
Added savestate 'plumbing', for when the new TIA classes are finalized.
...
Bumped lowest version of state file format to 4.8, to make sure old
state files will not be loaded.
2016-11-25 14:58:07 -03:30
Christian Speckner
eebf8c046f
Collisions, basic input (no lateched input, no paddles).
2016-11-25 01:31:57 +01:00
Christian Speckner
d2c9813da1
Fix timing to properly account for "fractional" system clocks -> bang! runs glitch free.
2016-11-23 23:59:32 +01:00
Christian Speckner
cac9bf76c7
Delay queue fixes --- should be academic.
2016-11-23 23:55:10 +01:00
Christian Speckner
d02c985a91
Add ball.
2016-11-22 23:22:16 +01:00
Christian Speckner
95c1d2b08c
CS.
2016-11-22 21:56:50 +01:00
Christian Speckner
3a4827e0b8
Add a missing line cache invalidation -> fixes bang! plasma field.
2016-11-22 21:56:12 +01:00
Stephen Anthony
ec2ee2c570
Added some 'Stella-isms' to the new TIA core code, like brace placement,
...
comment lines above each method, deleting new/d'tors whenever possible, etc.
Rename Missile.cpp to Missile.cxx.
2016-11-22 15:44:20 -03:30
Christian Speckner
14b701ef72
Fix accidential fallthrough in switch -> fixes funky space invaders.
2016-11-20 23:39:47 +01:00
Christian Speckner
d9f91caab3
Don't reset autodetected TV mode on reset -> fixes TV mode autodetection.
2016-11-20 22:22:07 +01:00
Christian Speckner
ac4520917e
Add players.
2016-11-20 22:07:10 +01:00
Christian Speckner
87b24a5bba
Coding style, hmmClocks can be 8bit.
2016-11-18 00:08:12 +01:00
Christian Speckner
594c460bc7
CS.
2016-11-17 23:25:13 +01:00
Christian Speckner
666028b66d
TODO.
2016-11-17 23:24:38 +01:00
Christian Speckner
baecc4e3a1
Fix timing glitch, port missiles.
2016-11-17 23:24:12 +01:00
Christian Speckner
c8dc5e2db9
Fix delay queue, add delay to pfx writes.
2016-11-16 23:19:54 +01:00
Christian Speckner
cdafe8d0a4
Playfield.
2016-11-16 01:18:44 +01:00
Christian Speckner
2d76b7fb98
Hook up audio.
2016-11-15 21:24:20 +01:00
Christian Speckner
6d76d65d82
Add wsync, vsync and vblank, fix bugs and connect the dots -> main loop + tv mode detection work.
2016-11-15 21:16:36 +01:00
Christian Speckner
70dc29f077
Port main loop.
2016-11-15 19:26:23 +01:00