69 Commits

Author SHA1 Message Date
Max Horn
e4e725fa8d DREAMWEB: Remove unused Register::cbw() 2011-12-08 19:56:06 +01:00
Max Horn
460e53172b DREAMWEB: Refactor segment management
All segment code is now in a new header file segment.h. A new class
takes care of managing the segments: SegmentManager. The DreamBase class
subclasses this -- thus, segments can now be accessed from within it.
2011-12-08 00:24:22 +01:00
Max Horn
7b71bb6444 DREAMWEB: Pass data segment as SegmentRef to Context constructor
And not as SegmentPtr.
2011-12-07 11:07:42 +01:00
Max Horn
2521646676 DREAMWEB: Add DreamBase as second base class for DreamGenContext
The idea is to slowly transfer converted methods into this new base class.
This transition then proves that the method does not access or modify
any of the emulation context.

for eaiser step-by-step  migration away from Context
2011-12-07 10:30:44 +01:00
Max Horn
0193ef590d DREAMWEB: Cleanup end of namespace comments 2011-12-06 21:49:41 +01:00
Max Horn
4506d2ac8d DREAMWEB: Rename random -> randomSprite 2011-12-04 19:28:13 +01:00
Bertrand Augereau
87ac82db27 DREAMWEB: kIcons1 and kIcons2 ownership transferred from the VM to the engine 2011-12-04 18:23:30 +01:00
Willem Jan Palenstijn
38098a0d0c DREAMWEB: Make SegmentRef::operator= protected for extra immutability 2011-12-03 13:59:40 +01:00
Max Horn
b2fdf79c4a DREAMWEB: Make SegmentRef "immutable", add MutableSegmentRef subclass
This way, the cs and data segment "pointers" can be clearly seen to be
invariant and equal. Moreover, SegmentRef instances no longer needs to
carry a pointer to the context object.
2011-12-03 13:58:53 +01:00
Max Horn
91c9ecf7e1 DREAMWEB: Simplify SegmentRef class 2011-12-03 13:58:34 +01:00
Max Horn
ebc3ff5b92 DREAMWEB: Turn Segment into a class, make members private 2011-12-03 13:58:32 +01:00
Bertrand Augereau
38ec14b15b DREAMWEB: 'segRef' was redundant with 'getSegment' (thanks to Max for noting this) 2011-12-02 16:29:16 +01:00
Willem Jan Palenstijn
65dec085b3 DREAMWEB: Remove assert when assigning an invalid segmentRef
This is a valid operation when it is performed by a push/pop pair
to save/restore an invalidated segment register, which happens when you die.

Actually dereferencing this invalid segmentRef will still trigger
other existing asserts.
2011-11-18 23:24:41 +01:00
Eugene Sandulenko
3de0b4e3f2 Merge pull request #60 from tramboi/master
DREAMWEB: Fixes, cleaning and more functions ported to C++
2011-08-14 04:17:51 -07:00
Christoph Mallon
23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Bertrand Augereau
a3c8c1334b DREAMWEB: Helper function to acquire a temporary segment ref to avoid ds and es pollution 2011-08-04 11:03:08 +02:00
Eugene Sandulenko
f28e4b6de7 DREAMWEB: Fix code formatting 2011-07-20 17:21:03 +01:00
Eugene Sandulenko
540d0260e6 DREAMWEB: Add ScummVM headers, remove SVN keywords. 2011-07-19 11:26:40 +01:00
Vladimir Menshakov
857f146bcb DREAMWEB: Removed memcpy as suggested by wjp 2011-06-28 11:18:52 +04:00
Vladimir Menshakov
d413494f5b DREAMWEB: Added assert on memcpy overlap 2011-06-26 02:35:44 +04:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
Vladimir Menshakov
5efe835f20 DREAMWEB: Added assertions on cx == 0xffff 2011-06-19 16:57:10 +04:00
Vladimir Menshakov
afc6b2e617 DREAMWEB: fixed size check in stosw(size) 2011-06-18 14:52:53 +04:00
Vladimir Menshakov
27890ec3e2 DREAMWEB: clear cx after rep movs/stos commands 2011-06-17 21:15:06 +04:00
Vladimir Menshakov
6fe3e63ed1 DREAMWEB: replaced generated code with c++ style stubs 2011-06-17 00:31:36 +04:00
Vladimir Menshakov
4fd3cdf984 DREAMWEB: Improved code formatting 2011-06-16 16:31:17 +04:00
Vladimir Menshakov
e0efde7cf6 DREAMWEB: optimized consequtive movsb/w and stosb/w 2011-06-16 00:20:30 +04:00
Vladimir Menshakov
4b3f775efa DREAMWEB: removed asserts, added STACK_CHECK as suggested by Max 2011-06-15 22:02:18 +04:00
Vladimir Menshakov
0946aa81bd DREAMWEB: added operator= for segmentref 2011-06-15 17:34:48 +02:00
Vladimir Menshakov
39d8f43bf3 DREAMWEB: hopefully fixed OF value 2011-06-15 17:34:37 +02:00
Vladimir Menshakov
d65083ecae DREAMWEB: fixed neg instruction 2011-06-15 17:34:31 +02:00
Vladimir Menshakov
bf80a8a3ac DREAMWEB: added inc/dec instructions. 2011-06-15 17:34:24 +02:00
Vladimir Menshakov
f8422b56a9 DREAMWEB: renamed update to update_zs 2011-06-15 17:34:24 +02:00
Vladimir Menshakov
bd28564594 DREAMWEB: removed ugly static engine 2011-06-15 17:34:21 +02:00
Vladimir Menshakov
99a4bb86dd DREAMWEB: fixed invalid generated jump instructions 2011-06-15 17:34:16 +02:00
Vladimir Menshakov
4ccd7fd791 DREAMWEB: fixed l/le/g/ge condition checks 2011-06-15 17:34:15 +02:00
Vladimir Menshakov
f7b56a0d94 DREAMWEB: fixed OF register handling once again 2011-06-15 17:34:15 +02:00
Vladimir Menshakov
9034191796 DREAMWEB: removed dummy video segment, blacklisted video-related functions. 2011-06-15 17:34:07 +02:00
Vladimir Menshakov
f7a3a552f3 DREAMWEB: fixed CF for neg instruction 2011-06-15 17:33:52 +02:00
Vladimir Menshakov
9193f33aad DREAMWEB: replaced movsw with 2*movsb 2011-06-15 17:33:52 +02:00
Vladimir Menshakov
33bb7c3f72 DREAMWEB: fixed memory deallocation 2011-06-15 17:33:51 +02:00
Vladimir Menshakov
07ad2efd80 DREAMWEB: fixed invalid register parts update 2011-06-15 17:33:51 +02:00
Vladimir Menshakov
90440a2b68 DREAMWEB: added assertion in pop() 2011-06-15 17:33:49 +02:00
Vladimir
fce91bd196 DREAMWEB: fixed of flag handling 2011-06-15 17:33:41 +02:00
Vladimir
978d17454b DREAMWEB: fixed OF flag handling 2011-06-15 17:33:23 +02:00
Vladimir
e0eac547cb DREAMWEB: fixed g/l/ge/le flags 2011-06-15 17:33:19 +02:00
Vladimir
797127cb65 DREAMWEB: cleared overflow flag on logic instructions 2011-06-15 17:33:15 +02:00
Vladimir
a6fb92d230 DREAMWEB: added o flag handling for shr/shl instructions 2011-06-15 17:33:11 +02:00
Vladimir
3595e9b675 DREAMWEB: added shr/shl instructions 2011-06-15 17:32:56 +02:00
Vladimir
2fa141335d DREAMWEB: fixed release warnings 2011-06-15 17:32:52 +02:00