Commit Graph

688 Commits

Author SHA1 Message Date
Aaron Culliney
2f2698ed9e Mark non-XShm support as buggy 2014-06-08 14:14:47 -07:00
Aaron Culliney
f72976a566 Fix calling conventions on x86_64 2014-06-08 13:12:48 -07:00
Aaron Culliney
45f29f363f Fix ROR instruction on x86_64 2014-06-08 13:12:12 -07:00
Aaron Culliney
c33cdb4b25 x86_64 target builds 2014-06-08 11:01:38 -07:00
Aaron Culliney
126d049ffc Refactor to two jump vectors
* Believe needed to allow minimal change for x86_64 codepath
2014-06-07 16:05:38 -07:00
Aaron Culliney
320819c829 on second thought, .balign 16 always
* if someone still has an olde i[345]86 machine that b0rks... fix it then! =P
2014-06-07 16:01:36 -07:00
Aaron Culliney
71f71af834 Use name-indirection for assembly acting on full-length registers 2014-06-07 15:05:29 -07:00
Aaron Culliney
efc63aeb7a Refactoring: removing redundant code 2014-06-07 14:21:12 -07:00
Aaron Culliney
23e6e0ea75 Use name-indirection for all registers 2014-06-07 13:59:49 -07:00
Aaron Culliney
30cf264aa6 Refactoring: shifting to avoid stack hit 2014-06-07 13:40:18 -07:00
Aaron Culliney
05e10b7eb8 inline macros used once and brace apple vm specific code 2014-06-07 13:08:01 -07:00
Aaron Culliney
b10593796c Move x86-specific assembly alignment macros and add __i686__ 2014-06-07 13:02:22 -07:00
Aaron Culliney
fa03fb3d48 Refactoring for efficiency on restore from C 2014-06-07 12:41:47 -07:00
Aaron Culliney
32f53a4e57 Refactoring to isolate full-length registers 2014-06-07 12:06:53 -07:00
Aaron Culliney
d7685a2163 Refactoring for more consistent/descriptive register names 2014-06-07 11:44:27 -07:00
Aaron Culliney
8791730b12 refactoring whitespaces, no code change 2014-06-07 11:29:07 -07:00
Aaron Culliney
ac0b132dee Better target arch checks, beginnings of x64 2014-06-07 11:24:53 -07:00
Aaron Culliney
24ed2ea6ef Refactoring assembly : move x86 registers to separate file 2014-06-07 10:54:56 -07:00
Aaron Culliney
6d63592ada Misc BASIC test scripts 2014-05-31 10:45:30 -07:00
Aaron Culliney
28ba68d8f1 move greatest.h into test directory 2014-05-31 10:42:10 -07:00
Aaron Culliney
cb56177369 rename asm386 -> x86 2014-05-31 10:29:39 -07:00
Aaron Culliney
00d36d3f5e slightly improved display tests 2014-05-28 22:16:11 -07:00
Aaron Culliney
3d45e75ea1 Refactor dhires graphics plotting to C 2014-05-23 08:46:25 -07:00
Aaron Culliney
46b6fa5342 Improve the dhires plotting routine 2014-05-23 08:24:25 -07:00
Aaron Culliney
c0e4e8ab31 refactor video_redraw to C 2014-05-20 22:47:19 -07:00
Aaron Culliney
6af5eb8be8 Fix interpolated colors 2014-05-18 21:27:19 -07:00
Aaron Culliney
0cea462c29 remove redundant code 2014-05-18 20:01:38 -07:00
Aaron Culliney
fd12c8cf53 Refactor Hires GRaphics to C 2014-05-18 19:51:34 -07:00
Aaron Culliney
57a01d28a8 Refactoring coding style for clarity 2014-05-18 14:40:53 -07:00
Aaron Culliney
f7369869d7 Beginning refactoring hires graphics to C 2014-05-18 13:27:11 -07:00
Aaron Culliney
e2e00b3485 Refactor display macros 2014-05-17 17:31:42 -07:00
Aaron Culliney
95ff4adb08 Refactor hires table initializations 2014-05-17 13:45:55 -07:00
Aaron Culliney
83da4c11af Merge macros used only once 2014-05-17 12:55:14 -07:00
Aaron Culliney
c22fbd0374 Reduce dependence on global TEMP buffer
* display.S still uses this ... will be refactored completely with new video update
2014-05-11 19:18:53 -07:00
Aaron Culliney
4e6718be37 Tweak joystick x-axis
* Seems to make S.R. play better and doesn't affect A.H.
2014-05-11 17:45:00 -07:00
Aaron Culliney
148dfa2f20 Refactor CPU code
* Moves cpu jump table, opcycles table, and others to C
    * Removes support for old/unused/deprecated nmos routines and tables
2014-05-11 17:06:53 -07:00
Aaron Culliney
5ec2901e98 Make opcode entry points globally linkable 2014-05-11 14:48:52 -07:00
Aaron Culliney
360c2fded1 Work around an abort in mockingboard for now 2014-05-11 13:55:54 -07:00
Aaron Culliney
0d109c404d Use named registers 2014-05-11 13:54:24 -07:00
Aaron Culliney
7d97d2e211 Complete refactoring VM routines to C 2014-05-11 13:54:03 -07:00
Aaron Culliney
53a9cc3950 HACK around apparently problematic return from calling C
* HACK ALERT!!! movl(%eax), %eax   --or--  movzbl(%eax), %eax
    * This pattern appears to be generated in some cases by the compiler.  It's not clear to me why it's a problem for
      the emulator (not a crash per se, but an emulation lock-up).
    * Current suspicion is that there are side-effects in the x86 flags from this instruction/indexing mode which are
      copied into the 6502 flags
    * Current sample code showing problem (and non-boot of emulator) is f785da40e9
2014-05-11 13:17:47 -07:00
Aaron Culliney
403cb8b154 Add a comment about suspect code 2014-05-11 13:15:14 -07:00
Aaron Culliney
f785da40e9 refactor C3ROM,CXROM switches to C 2014-05-10 22:39:03 -07:00
Aaron Culliney
400364b739 refactor some softswitch query routines to C 2014-05-10 22:14:46 -07:00
Aaron Culliney
cb387f21dc refactor DHIRES,IOUDIS switches to C 2014-05-10 22:07:25 -07:00
Aaron Culliney
2932c6b832 refactor ALTCHAR switch to C 2014-05-10 21:41:48 -07:00
Aaron Culliney
e6c582bab6 refactor 80COL switch to C 2014-05-10 21:36:55 -07:00
Aaron Culliney
a206fc06b8 refactor ALTZP switch to C 2014-05-10 21:25:54 -07:00
Aaron Culliney
442fe390de use ALTZP offset to avoid test/branch 2014-05-10 18:44:18 -07:00
Aaron Culliney
0c25ec25d6 Save/restore other crucial registers for safety 2014-05-10 16:45:10 -07:00