Commit Graph

38 Commits

Author SHA1 Message Date
Vladimir Menshakov
a5748a34af DREAMWEB: Fixed continuing to another procedure. (axe misuse crash) 2011-06-24 09:34:23 +04:00
Willem Jan Palenstijn
2551389304 DREAMWEB: Fix bug in tasmrecover causing load/save mixup
This is a regression from c1b9adb691 and (my commit) 287c23f126.

It is not safe to remove opcodes from proc.stmts since labels
are sometimes referenced by their offset in the list. So, instead
they are now replaced by op._nop.

This fixes kLoadingorsave not being set in doload(), which was
visible when going to the load game menu from the startup menu.
2011-06-22 00:00:56 +02: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
Willem Jan Palenstijn
ae67a9a958 DREAMWEB: Re-optimize unbounded code blocks
This gets rid of some unused labels. We need to be careful
not be optimize too much, as that could remove the very label
the unbounded block was added for.
2011-06-16 16:43:48 +02:00
Willem Jan Palenstijn
287c23f126 DREAMWEB: Try to clean up jumps to returns 2011-06-16 15:40:52 +02:00
Vladimir Menshakov
d8d16e0231 DREAMWEB: removed while loops from rep+stos/movs instructions 2011-06-16 16:44:58 +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
c1b9adb691 DREAMWEB: added unused label elimination. Does not work for some labels, but the most ones are gone. 2011-06-15 23:38:44 +04:00
Vladimir Menshakov
3b85dede39 DREAMWEB: added banner to autogenerated files 2011-06-15 23:00:05 +04:00
Vladimir Menshakov
4e75c4bfd2 DREAMWEB: marked global as used from get_global() 2011-06-15 22:58:45 +04:00
Vladimir Menshakov
7a47b09379 DREAMWEB: uncommented simple ret stripping 2011-06-15 22:25:16 +04:00
Vladimir Menshakov
eb80d05b64 DREAMWEB: fixed code formatting 2011-06-15 22:09:31 +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
f4936e6b42 DREAMWEB: implemented stc/clc, fixed preliminary exit from the dialogue 2011-06-15 17:35:00 +02:00
Vladimir Menshakov
49e7c7a735 DREAMWEB: fixed occasional stripping of the strings in data segment 2011-06-15 17:34:43 +02:00
Vladimir Menshakov
6fb25cdde4 DREAMWEB: added stack depth check to code generator 2011-06-15 17:34:38 +02:00
Vladimir Menshakov
bf80a8a3ac DREAMWEB: added inc/dec instructions. 2011-06-15 17:34:24 +02:00
Vladimir Menshakov
8ea7a7a3d1 DREAMWEB: fixed seg XXX construction in generator 2011-06-15 17:34:17 +02:00
Vladimir Menshakov
99a4bb86dd DREAMWEB: fixed invalid generated jump instructions 2011-06-15 17:34:16 +02:00
Vladimir Menshakov
3f592047bb DREAMWEB: fixed rep prefix 2011-06-15 17:34:05 +02:00
Vladimir Menshakov
97310ab904 DREAMWEB: asserted invalid calls 2011-06-15 17:33:54 +02:00
Vladimir Menshakov
4518719345 DREAMWEB: added 'equ' const to public header 2011-06-15 17:33:53 +02:00
Vladimir Menshakov
23736a0240 DREAMWEB: output equ values in log 2011-06-15 17:33:51 +02:00
Vladimir Menshakov
9717b220f1 DREAMWEB: added names instead of offsets for variables 2011-06-15 17:33:50 +02:00
Vladimir Menshakov
2f9e63579d DREAMWEB: fixed missing explicit segment specification. added verbose data dump to the generator 2011-06-15 17:33:49 +02:00
Vladimir Menshakov
d2688a520b DREAMWEB: removed static from functions for now (allowing external usage) 2011-06-15 17:33:48 +02:00
Vladimir
59f8d31132 DREAMWEB: fixed offsets shifting for db/dw 2011-06-15 17:32:34 +02:00
Vladimir
ab41fb783d DREAMWEB: fixed equ expanding 2011-06-15 17:32:19 +02:00
Vladimir
bba7724aec DREAMWEB: added fake data register pointing to variables 2011-06-15 17:32:02 +02:00
Vladimir
b76035db66 DREAMWEB: put data offsets, not labels into public 2011-06-15 17:31:00 +02:00
Vladimir
59b0c4b4b5 DREAMWEB: added all offsets 2011-06-15 17:30:56 +02:00
Vladimir
a0e56d9cad DREAMWEB: minor cleanup 2011-06-15 17:30:39 +02:00
Vladimir
1ee6b0af69 DREAMWEB: get rid of data, added simple segment management 2011-06-15 17:30:29 +02:00
Vladimir
4e6483e700 DREAMWEB: removed python generated bytecode 2011-06-15 17:30:18 +02:00
Vladimir
0b0b22ccc2 DREAMWEB: removed data declaration 2011-06-15 17:30:14 +02:00
Vladimir
9cf2a7ba0e DREAMWEB: added tasm-recover tool 2011-06-15 17:29:44 +02:00