Commit Graph

781 Commits

Author SHA1 Message Date
michaelangel007
d0b067f8d2 Fix BLOAD 'filename.hgr' so an address can be specified and used as an over-ride 2015-01-01 05:51:06 -08:00
michaelangel007
581bb332fe Debugger 2.8.0.9b: BLOAD now recognizes the extensions .hgr or .hgr2 to load to $2000, or $4000 respectfully 2014-12-31 19:38:36 -08:00
michaelangel007
07be4dfa1d Debugger 2.8.0.9: BLOAD now recognizes the extensions .hgr or .hgr2 to load to $2000, or $4000 respectfully 2014-12-31 19:24:04 -08:00
michaelangel007
1fc2c0f2b2 Remove most of the old unused Video rendering functions 2014-12-31 17:57:57 -08:00
michaelangel007
784fb5c62b Fix F9 video mode cycling works for monochrome modes 2014-12-31 17:57:02 -08:00
michaelangel007
2dedaf0158 NTSC: fix Debugger View Output commands: TEXT, HGR, etc 2014-12-31 17:15:36 -08:00
michaelangel007
e681c97c3b Added NTSC files to Solution 2014-12-31 14:53:55 -08:00
michaelangel007
d8a0bd4ae2 Merge branch 'master' of https://github.com/AppleWin/AppleWin into NTSC_PreMerge 2014-12-31 14:13:58 -08:00
michaelangel007
e116014742 First pass of NTSC integration 2014-12-31 14:13:36 -08:00
tomcw
0fc6d18139 Removed some unused video constants 2014-12-21 16:47:03 -05:00
tomcw
1966bcb9a1 Merge branch 'master' of https://github.com/AppleWin/AppleWin 2014-12-21 16:43:58 -05:00
tomcw
a85d33beb3 Switch VideoCheckVbl() to call VideoGetVbl() instead of VideoGetScannerAddress() 2014-12-21 16:43:49 -05:00
michaelangel007
7ba8128530 Remove unused: V_CreateLookup_HiresHalfShiftFull(), conditionaly compile V_CreateLookup_HiresHalfShiftDim(); 2014-12-15 18:02:54 -08:00
michaelangel007
e64932f181 Fixed HGR colors to be more accurate; cleanup dead code; merged COLORS_TWEAKED since it is always active 2014-12-14 19:05:21 -08:00
michaelangel007
ee67feaffb Removed old commented out color maps for Lores & DoubleHires 2014-12-14 18:05:56 -08:00
michaelangel007
ca26296970 Fix mis-labeled HGR_MAGENTA -> HGR_VIOLET 2014-12-14 18:03:45 -08:00
michaelangel007
b21da4dd95 DOC: Made note that IIGS color reference is NOT accurate 2014-12-14 14:59:01 -08:00
michaelangel007
3d80c45451 Fix mis-labled HGR_RED -> HGR_ORANGE 2014-12-14 14:55:19 -08:00
michaelangel007
a509cc511a Add: proper OPCODE_NOP enum 2014-12-11 10:00:51 -08:00
michaelangel007
03b43bf388 Bug #227 2.8.0.8 Fixed: Showing/hiding the address and/or opcodes will show long symbolic targets without overflowing into the register info pane
File: Debugger_Display.cpp
Func: DrawDisassemblyLine()
2014-12-11 10:00:02 -08:00
michaelangel007
d6002721e5 Fix Bug #251: ASC #:# with null byte doesn't mark up properly 2014-12-11 09:41:42 -08:00
michaelangel007
c2d6f5b026 Bug #239 : Debugger 2.8.0.6: Ctrl-Print Screen while the debugger is active will copy the debugger text to the clipboard 2014-12-01 22:01:08 -08:00
michaelangel007
4102fd91f9 DEBUG: 2.8.0.5: FIX: Bug #244 -- print warning about duplicate symbol's address(es) aliasing existing ones 2014-11-30 18:58:15 -08:00
michaelangel007
4e582b2431 Add: CHC_INFO, CHC_PATH 2014-11-30 18:39:04 -08:00
michaelangel007
ac56455f61 Cleanup: remove commented out broken long symbol table header description
FIX: Prevent buffer overflow in CmdSymbolsInfo()
2014-11-30 17:51:11 -08:00
michaelangel007
d5a58ef206 ADD: ConsoleColor_StringLength() to get the normal string length that doesn't count the escape/markup 2014-11-30 17:47:26 -08:00
michaelangel007
7345b017aa FIX: Bug #246 (Debugger) Memory (Changing Memory) command in CHM help files
- fixed EXITBENCH from being matched with 'E'
- fixed out of date documentation with MEB, MEW
2014-11-29 17:42:12 -08:00
michaelangel007
763b8172f0 DEBUGGER: Cleanup error message for invalid symbol table for: syminfo
(cherry picked from commit ca5002dfa3807f6b5fea33c14bd6ee5c9c879456)
2014-11-28 23:33:54 -08:00
michaelangel007
0910f05817 Cleanup - added note about CmdSymbolsLoad() zero args
(cherry picked from commit 9de7a1ca922046542cc998a04993012569e9fb54)
2014-11-28 23:33:36 -08:00
michaelangel007
6e5ff918c4 Cleanup: ParseSymbolTable() renamed arg to be more descriptive: pPathFileName
(cherry picked from commit 99a675b3b4b930071498b3ee1437f4d7d14594f4)
2014-11-28 23:33:25 -08:00
michaelangel007
d5c646a2bc Cleanup whitespace
(cherry picked from commit b5af168257f3f1fee19a314ed7d88c31bf345750)
2014-11-28 23:33:04 -08:00
TomCh
c04e934a27 Merge pull request #238 from AppleWin/memory_refactor
Mainly a tidy-up to remove old, unused code from memory.cpp.

Also:
* Disk][ now returning floating bus for I/O register reads (still a few todo's to check).
* Fixed #232 (mouse VBl IRQs were still occurring after card removed!)
2014-10-12 20:58:25 +01:00
tomcw
0e31e91e61 Disk configuration: Minor coding style tweaks & clean-up 2014-10-10 21:24:50 +01:00
pedgarcia
43b31c28db New disk selection interface
The Configuration Dialog -> Disks tab now has combos to show
insert/eject disks, as well as it now the images are automatically
swapped if you try to insert on one drive the image connected to the
other
The Apple logo was redone following the same-ish colour pattern but with
a more modern look.

(*) Updated based on first review:
- Removed bmp from this pull request (coming later)
- Corrected resource's constants values and deleted unused one
- Initializing variables in CPageDisk constructot
2014-10-01 19:18:46 -04:00
tomcw
970dd0044a Fix #232: Mouse was still generating VBl IRQs after being removed. 2014-09-29 22:43:15 +01:00
tomcw
8fac75322a Refactor: Removed unused vars from Memory.cpp. Also change Disk][ I/O regs to return floating bus. 2014-09-28 22:04:12 +01:00
tomcw
a2260510f3 Better support for GH issues #129 and #204 (x86 CPU core is no longer max'ed out). 2014-09-21 21:42:19 +01:00
tomcw
8098b84a0e Fix GH issue #188 (GDI object leak). Also refactored V_CreateLookup_Text() and V_CreateLookup_MonoText() to use common code. 2014-09-21 16:12:05 +01:00
tomcw
efd2e4405a Fix: 80-column video mode wasn't being detected as needing an update, when FLASH chars only existed in AUX text pages. 2014-09-15 22:47:50 +01:00
tomcw
8c019bcd35 More main-loop reduction & removal of redundant globals.
Fixed JoyUpdateButtonLatch() to debounce in 5mecs instead of 5secs!

SpkrToggle() was using redundant global ('cyclenum') when using the PC speaker.
. I reworked the code (as it looked out-of-date),
    but probably better to just remove all the PC speaker support.
2014-09-14 21:23:54 +01:00
tomcw
0db62489f9 Refactor: g_bVideoMode -> g_uVideoMode 2014-09-14 16:15:14 +01:00
tomcw
1f892a27d4 Simplified main-loop a bit more, and removed more globals from AppleWin.cpp 2014-09-14 16:12:55 +01:00
tomcw
bc45812f4e Simplified and moved main-loop video update logic into Video.cpp.
Removed complex case below for:
. VideoHasRefreshed(), 'anyupdates'
. VideoCheckPage()

Detailed notes below.

---

Video updates in ContinueExecution() loop:

'anyupdates' gets set if there were any page-flip(s) in last ~17030 cycles:
	anyupdates |= VideoHasRefreshed();
ie. VideoRefreshScreen() was called outside of this loop.

If there's been a call to VideoRefreshScreen() outside of this loop,
  and then the video framebuffer gets written to, ie. VideoApparentlyDirty() returns TRUE,
then don't call VideoRefreshScreen() from this loop for 3 frames.
(If a VideoRefreshScreen() is called outside of this loop then restart the 3 frame count.)

So..
 if the game is flipping, the VideoApparentlyDirty() will return FALSE (since game writes to other framebuffer).
 if the game is not flipping, then VideoHasRefreshed() will return FALSE (since no flips occur).

Therefore this complex case above probably only arises at a boundary eg. when the game is transitioning between these 2 modes,
and so if the emulator does the very occasional screen update in this main loop, it is of no consequence.

(I guess this extra logic was to throttle video updates on very old slow machines)

---

VideoCheckPage(BOOL bForce) was called twice in main-loop:

UnexpectedPage if g_bVideoDisplayPage2 != SW_PAGE2

Once each time through the loop (ie. every 1ms), with bForce=0
	if UnexpectedPage && >500ms since last flip then VideoRefreshScreen()

Once each video frame (ie. ~17030 cycles) when not flipping, with bForce=1
	if UnexpectedPage then VideoRefreshScreen()

Basically this was all about supporting FullSpeed mode, and limiting the calls to VideoRefreshScreen().
2014-09-13 22:22:27 +01:00
tomcw
d1dddbe813 1.25.0.3: Restore MIP_FF_FF_00_00 as memory init default (see GH Bug#225) 2014-09-08 22:25:29 +01:00
michaelangel007
95a2c855f4 Cleanup: remove dead comments in debugger_parser.cpp 2014-09-08 12:15:37 -07:00
michaelangel007
4b7f8aab3e Debugger 2.8.0.1 Fix #227 (Debugger)[1.25] AppleSoft symbol: COPY.FAC.TO.ARG.ROUNDED overflows into registers 2014-09-08 09:19:12 -07:00
michaelangel007
a49904a5f7 1.25RC2 Added note about MIP_FF_00_FULL_PAGE breaking Castle Wolfenstein -- no work-around yet except to use MIP_FF_FF_00_00 instead. 2014-09-07 18:29:47 -07:00
michaelangel007
ce2f0b75cb Fix: SetCurrentImageDir() to always make sure g_sCurrentDir has trailing backslash 2014-09-03 17:14:06 -07:00
michaelangel007
807fcce1ef 1.25.0.2 Fixed: F12 Snapshot_LoadState() -> Snapshot_SetFilename() not keeping trailing backslash on path 2014-09-02 08:48:46 -07:00
michaelangel007
0c06520dc5 Added note about g_sCurrentDir to use g_sDebugDir 2014-09-02 08:44:21 -07:00
michaelangel007
cf7de38720 2.7.0.36 Fixed: empty command was re-triggering previous command. Example: DW 6062, // test 2014-09-01 12:47:43 -07:00
michaelangel007
3a0d2697e4 Debugger 2.7.0.35
.35 Added: DW address -- round the length up to even number for convenience. Example: DW 6062 is equivalent to: DW 6062:6063
.34 Fixed: Unified auto-defined name: B_, W_, T_ for byte, word, or text respectively
2014-09-01 09:49:55 -07:00
michaelangel007
346a171310 1.25 RC1 fixed ASC ellipsis 2014-08-30 10:03:00 -07:00
michaelangel007
1b1009ee07 2.7.0.33 Fixed ASC range, DW range to auto-define T_#### and W_#### 2014-08-29 08:51:29 -07:00
michaelangel007
be1ae810fc Debugger 2.7.0.31 fix: DB range to auto-generate symbol name: B_#### 2014-08-28 22:27:24 -07:00
michaelangel007
65cfe89e00 Debugger 2.8.0.1 fix: DB range to auto-generate symbol name: B_#### 2014-08-28 22:23:47 -07:00
michaelangel007
d5cf2d1de2 Debugger 2.8.0.0 AppleWin 1.25 2014-08-28 16:55:16 -07:00
michaelangel007
e449da5b47 Debugger: Fix ASC overflowing _sOpCodes in FormatOpcodeBytes() 2014-08-28 16:52:41 -07:00
tomcw
a05979a6d1 Bump version to 1.25 & added comment to History.txt stating dropping Win98/ME support 2014-08-28 22:34:25 +01:00
michaelangel007
fc5818ee34 Debugger 2.7.0.29 -- Renamed DS to ASC, fixed disassembly for ASC 2014-08-28 11:13:02 -07:00
michaelangel007
ae762762e7 #206 Based on FaceBook poll, changed memory initialization pattern to: MIP_FF_00_FULL_PAGE 2014-08-28 10:43:32 -07:00
michaelangel007
ccebc48e5a Merge branch 'master' of https://github.com/AppleWin/AppleWin 2014-08-28 10:40:08 -07:00
michaelangel007
9b8151b12e #206 Based on FaceBook poll, changed memory initialization pattern to: MIP_FF_00_FULL_PAGE 2014-08-28 10:39:29 -07:00
tomcw
313e7bdcc8 TSAVE: Remap control chars to printable ones 2014-08-27 22:13:14 +01:00
michaelangel007
77aef24880 Cleanup code conventions 2014-08-25 17:12:16 -07:00
michaelangel007
1bcf5b29ee Fix TSAVE and Ctrl-PrintScreen -- convert inverse control characters to space 2014-08-25 15:35:09 -07:00
michaelangel007
936553ab7e Cleanup misc. whitespace 2014-08-25 15:33:53 -07:00
tomcw
712c726304 Moved a potentially confusing global to be function-local & fixed a few comments 2014-08-25 21:49:58 +01:00
tomcw
24493b4099 Fixed minor bug with track/sector not showing when switching: x1 -> Fullscreen -> x1 -> x2 2014-08-25 21:42:23 +01:00
michaelangel007
10092fce9a Fix missed case of #198 Alt-Enter toggle full-screen -- WM_USER_FULLSCREEN 2014-08-25 09:40:52 -07:00
michaelangel007
94c90f6654 Fix #221 Reinstate F6's original behaviour of toggling window/fullscreen modes
Fix #198 broken with F6 and Ctrl-F6 revert to original behavior
2014-08-25 09:20:32 -07:00
michaelangel007
24e581ba2c Added: Ctrl-PrintScreen will copy the text screen (auto detect 40/80 columns) to the clipboard. 2014-08-25 08:35:43 -07:00
michaelangel007
9d36d6d007 Added new Debugger command: TSAVE to save the text screen to a file 2014-08-23 23:08:22 -07:00
michaelangel007
92e0f14907 #222 Kludge for Copy ][ v5 on MIP_PAGE_ADDRESS_LOW 2014-08-23 23:07:02 -07:00
michaelangel007
eea9110649 Update History.txt with Debugger 2.7.0.23 2014-08-23 17:09:48 -07:00
michaelangel007
8119e22f08 BUGFIX: MemoryFill and MemoryMove: Fix infinite hang if target memory address ends with FFFF due to 16-bit address wrapping around to zero instead of using length.
i.e. F D000:FFFF 0
2014-08-23 12:52:14 -07:00
michaelangel007
0a80bb22b2 Kludge for #222 MIP_PAGE_ADDRESS_LOW due to bug in 'Beautiful Boot' 2014-08-22 23:20:58 -07:00
tomcw
99bed3ed36 GH#212: Eliminate flicker when in fullscreen & 50% mode 2014-08-21 22:54:03 +01:00
tomcw
e3508c29aa Fix for window border when building with VS2012 & VS2013, using GetSystemMetrics(SM_CXPADDINGBORDER) 2014-08-20 22:40:48 +01:00
tomcw
598b04c025 Merge remote-tracking branch 'origin/master' into vs2013-and-gitignore 2014-08-20 22:00:09 +01:00
tomcw
73f0e405e5 Remove wchar.h & Update VS2012 proj with new headers 2014-08-14 22:27:41 +01:00
tomcw
cbdad2a02f Qualified all STL refs with std:: to get rid of the 'using namespace std' mismatch between the main code & debugger code 2014-08-14 20:29:01 +01:00
tomcw
c1bfb8075c Created new DebugDefs.h for memory defs 2014-08-14 18:14:39 +01:00
tomcw
ea23def601 More header refactoring 2014-08-14 18:03:12 +01:00
tomcw
4d40590fbf Renamed DiskConsts.h to DiskDefs.h + other header refactoring 2014-08-14 17:48:38 +01:00
tomcw
77d4ac81a1 Added new DiskConsts.h so Structs.h doesn't need to include DiskImage.h 2014-08-14 17:24:03 +01:00
tomcw
d21bb2cc3b Move Util_* files into Debugger subfolder & update all vcproj files 2014-08-13 22:25:22 +01:00
tomcw
6ce0f6c77f Split some of Debugger_parser.h into Util_Text.h (now Util_MemoryTextFile.cpp isn't dependent on any Debugger headers 2014-08-13 22:03:33 +01:00
tomcw
6a26a95487 PCH refactor: remove non-system headers from stdafx.h 2014-08-13 21:30:35 +01:00
michaelangel007
391b891807 #201 Don't update track/sector on disk swap 2014-07-29 07:56:55 -07:00
michaelangel007
ae5d765b2c #201 cleanup to match coding standards 2014-07-28 14:18:32 -07:00
michaelangel007
598df5ce9b Code cleanup: #201 use actual floppy drive 2014-07-28 14:13:40 -07:00
michaelangel007
627620ef6e #201 Fix fence post logic bug in ProDOS drive dection 2014-07-28 13:57:54 -07:00
michaelangel007
21e5ebc619 #201 Always display Track/Sector in full screen mode. Also show at start-up. 2014-07-28 08:36:39 -07:00
michaelangel007
b2e5770e51 Fix #201 drive swap DOS3.3 disk status Sector drive 2 now displaying properly due to fence post error 2014-07-27 22:40:10 -07:00
michaelangel007
5024608885 Merge #198 Pull branch alt_enter_fullscreen 2014-07-27 16:19:23 -07:00
michaelangel007
50ed260710 #199 #215 Cleanup: "Confirm Reset" to "Confirm reboot" 2014-07-27 14:31:00 -07:00
michaelangel007
70504ebf9d #198 Made branch #alt_enter_fullscreen 2014-07-26 16:44:38 -07:00
michaelangel007
9140d5bca0 #199 Update confirm reboot dialog box with instructions how to disable the message in the future. 2014-07-26 15:42:55 -07:00
michaelangel007
825b7cddcb #199 Added option to skip reset 2014-07-26 14:51:23 -07:00
michaelangel007
f8d0430a39 Cleanup: Bump copyright, and tabify 2014-07-26 13:23:57 -07:00
Michael
f7758adb5c Merge pull request #214 from AppleWin/track_status
Track status
2014-07-26 09:40:27 -07:00
michaelangel007
9cb6626fc3 #201 Fix ProDOS track/sector to be more accurate. Always use the actual floppy drive instead of probing ProDOS 2014-07-26 09:36:29 -07:00
michaelangel007
f5617a396d Final cleanup on Track/Sector 2014-07-24 21:58:19 -07:00
sicklittlemonkey
0d7cbfd463 Fixed window width and height problem by using SM_CXPADDEDBORDER
But it would be nicer to define this somewhere by:
#ifndef SM_CXPADDEDBORDER
#define SM_CXPADDEDBORDER 92
#endif
2014-07-24 21:00:28 +12:00
michaelangel007
825aba0fda Use active track for ProDOS 2014-07-23 22:58:23 -07:00
michaelangel007
099bdbe5ee Fix ProDOS track & sector display to be more accurate 2014-07-23 22:40:35 -07:00
michaelangel007
6ad02871c1 #201 Fixed Track/Sector display to be responsive 2014-07-23 18:08:52 -07:00
michaelangel007
f5be097177 #201 Show Track/Sector -- preliminary support for showing DOS3.3 2014-07-22 00:08:18 -07:00
michaelangel007
e8fda39cae #201 Fix display of track status in full-screen and windowed mode ... http://imgur.com/KzKpwIv 2014-07-21 22:56:57 -07:00
michaelangel007
9f8ad1a65b WIP show current disk track 2014-07-21 18:21:31 -07:00
tomcw
5d64ea5673 Merge branch 'master' of github.com:AppleWin/AppleWin 2014-07-20 10:30:21 +01:00
tomcw
a75555d21c Simplified ContinueExecution(): video refresh part. 2014-07-20 10:24:50 +01:00
michaelangel007
a4bae75d2a Documented #206 existing and new -memclear options with "In Development" in History.txt
-memclear 0 Initialize memory to zero
     -memclear 1 Initialize memory to random values
     -memclear 2 Initialize memory to 4 byte pattern: FF FF 00 00
     -memclear 3 Initialize memory to even pages FF, odd pages 00
     -memclear 4 Initialize memory to first half page 00, last half page FF
     -memclear 5 Initialize memory to first half page FF, last half page 00
     -memclear 6   Initialize memory to byte offset of page
                   (current memory address low byte)
     -memclear 7   Initialize memory to page address
                   (current memory address high byte)
2014-07-17 20:42:19 -07:00
michaelangel007
f4b09e1f8f Feature Request #206 Command line switch: -memclear # 2014-07-17 20:18:59 -07:00
michaelangel007
9ded7f0926 Cleanup: Removed unused variable: g_bResetTiming 2014-07-17 19:52:56 -07:00
michaelangel007
8090dd3933 Cleanup: Removed unused variable: needsprecision 2014-07-17 19:50:39 -07:00
michaelangel007
21033f4f2e Removed //c memory blaster initialization pattern from MIP_00_FF_HALF_PAGE since it is firmware $FCCA 2014-07-16 21:56:01 -07:00
michaelangel007
2719de8a09 Fix //c memory blast fill constant with actual 0xA0.
Remove MemReturnRandomData(), replace with getRandomTime()
2014-07-16 08:41:45 -07:00
michaelangel007
82e77c9215 Cleanup: Added exception docs for MIP_FF_FF_00_00 2014-07-15 21:28:26 -07:00
michaelangel007
9c186199c2 Use random values for memory holes at $xx28, $xx29, $xx68, $xx69 in MIP_FF_FF_00_00 2014-07-15 21:14:05 -07:00
michaelangel007
5109fd39da Fix //c cold start memory 'blaster' initialization pattern 2014-07-15 20:55:28 -07:00
michaelangel007
b68f89ebff #206 - Memory Initialization doesn't mirror other Apple //e //c models 2014-07-15 12:37:04 -07:00
michaelangel007
27c4a0654b Cleanup: misc. spelling 2014-07-15 12:33:29 -07:00
michaelangel007
0e0e97e831 Cleanup: Tabify and multi-column alignment for better readability. 2014-07-13 21:31:28 -07:00
michaelangel007
81ce9c54d1 Certain games (such as Pooyan) expect RNDL and RNDH to be non-zero. Initialize to non-zero value. 2014-07-13 21:00:45 -07:00
tomcw
8637dfa7af Removed the _DEBUG-only experimental video modes (eg. Emboss, Psychedelic, etc) 2014-07-10 22:52:26 +01:00
tomcw
ae233fe1fc Remove redundant 'BOOL behind' which was always zero.
- allowed some simplification to VideoSetMode()
Tidy up ContinueExecution(), removing unused 'BOOL pageflipping'.
Refactor VideoCheckPage() to make it more readable.
2014-07-08 20:58:48 +01:00
tomcw
b036b03062 Tweaks to fullscreen 32-bit mode 2014-06-27 22:43:25 +01:00
tomcw
c509349469 Fullscreen defaults to 32-bit. Use -fs8bit for 8-bit mode 2014-06-26 22:44:02 +01:00
tomcw
d591dd006b Remove the top-level AppleWin folder 2014-05-23 22:59:02 +01:00