rmac
7 years agoFixed subtle bug in expr().
Shamus Hammons [Sat, 9 Nov 2013 15:01:57 +0000 (09:01 -0600)]
Fixed subtle bug in expr().

Basically, expr() was looking at the token following the one it was
looking at and bypassing the longer parse path if it found an EOL token
there. Problem is, some tokens have follow on values and so can be
considered compound tokens. In this case, the EOL token codes to 101,
having a constant with a value of 101 will not evaluate correctly in
this case as the CONST token is a compound token.

The short of this is that making assumptions is BAD! Don't do it! It
WILL come around to bite you in the ass eventually, in the form of
subtle bugs that are difficult to chase down. Assume nothing!

7 years agoFixed assembler not complaining when using RISC regs in 68K mode.
Shamus Hammons [Fri, 13 Sep 2013 02:59:10 +0000 (21:59 -0500)]
Fixed assembler not complaining when using RISC regs in 68K mode.

7 years agoForgot minor release number bump. :-P
Shamus Hammons [Thu, 12 Sep 2013 15:00:35 +0000 (10:00 -0500)]
Forgot minor release number bump. :-P

7 years agoFixed segfault on encountering unexpected register in RISC section.
Shamus Hammons [Thu, 12 Sep 2013 14:44:40 +0000 (09:44 -0500)]
Fixed segfault on encountering unexpected register in RISC section.

8 years agoAdded deprecated keywords JPAD/NOJPAD for legacy code. :-)
Shamus Hammons [Sat, 30 Mar 2013 22:42:41 +0000 (17:42 -0500)]
Added deprecated keywords JPAD/NOJPAD for legacy code. :-)

8 years agoFix for last broken commit. Sorry about that!
Shamus Hammons [Tue, 5 Mar 2013 17:59:07 +0000 (11:59 -0600)]
Fix for last broken commit. Sorry about that!

8 years agoMore fixups to remove warnings, removal of more cruft.
Shamus Hammons [Tue, 5 Mar 2013 17:47:22 +0000 (11:47 -0600)]
More fixups to remove warnings, removal of more cruft.

8 years agoVarious code cleanups, mainly to do with RISC assembly.
Shamus Hammons [Mon, 4 Mar 2013 13:36:09 +0000 (07:36 -0600)]
Various code cleanups, mainly to do with RISC assembly.

8 years agoFix silly mask bugs, added check for use of undefined register equates.
Shamus Hammons [Sat, 2 Mar 2013 20:22:33 +0000 (14:22 -0600)]
Fix silly mask bugs, added check for use of undefined register equates.

8 years agoFix for slow .incbin performance.
Shamus Hammons [Wed, 27 Feb 2013 14:44:33 +0000 (08:44 -0600)]
Fix for slow .incbin performance.

8 years agoFixed subtle bug in section marking code.
Shamus Hammons [Sat, 16 Feb 2013 03:27:29 +0000 (21:27 -0600)]
Fixed subtle bug in section marking code.

Thanks to Linkvitch for helping find this one! Also, found and removed
some more 'GPU in Main' cruft hiding out in sect.c. Gone!

8 years agoRemoving cruft...
Shamus Hammons [Thu, 14 Feb 2013 19:23:45 +0000 (13:23 -0600)]
Removing cruft...

8 years agoAdded optimization flags to makefile (how long was THAT missing?)
Shamus Hammons [Thu, 14 Feb 2013 19:22:54 +0000 (13:22 -0600)]
Added optimization flags to makefile (how long was THAT missing?)

8 years agoAdded win32 cross-compilation script.
Shamus Hammons [Thu, 14 Feb 2013 00:49:17 +0000 (18:49 -0600)]
Added win32 cross-compilation script.

8 years agoForgot to bump patch level :-P
Shamus Hammons [Wed, 13 Feb 2013 18:52:49 +0000 (12:52 -0600)]
Forgot to bump patch level :-P

8 years agoAdded new .cstruct construct. Thanks to GroovyBee for the suggestion!
Shamus Hammons [Wed, 13 Feb 2013 18:51:43 +0000 (12:51 -0600)]
Added new .cstruct construct. Thanks to GroovyBee for the suggestion!

8 years agoFixed regression in RISC JR cc, <label> handling.
Shamus Hammons [Wed, 13 Feb 2013 03:01:34 +0000 (21:01 -0600)]
Fixed regression in RISC JR cc, <label> handling.

8 years agoFixed .cargs problem, more code cleanup/fixup
Shamus Hammons [Wed, 13 Feb 2013 02:14:47 +0000 (20:14 -0600)]
Fixed .cargs problem, more code cleanup/fixup

Thanks to GroovyBee for reporting the .cargs problem! Also, pretty much
all of the remaining cruft coming from the misguided "GPU in Main" cult
has been removed. Never do in an assembler what you can do with either
macros or a good preprocessor!

8 years agoFirst stab at removing cruft.
Shamus Hammons [Tue, 12 Feb 2013 18:32:56 +0000 (12:32 -0600)]
First stab at removing cruft.

Removing all automatic code munging in the background by the RISC
compiler, including GPU in main idiocy. This means there are no more
built-in macros either. If you really needed this functionality, you can
put macros in your source code to do it. It doesn't belong in the guts
of the assembler.

8 years agoBumped object size from 4MB to 6MB (ggn).
Shamus Hammons [Tue, 12 Feb 2013 14:30:29 +0000 (08:30 -0600)]
Bumped object size from 4MB to 6MB (ggn).

8 years agoForgot to bump patch level on version.h :-P
Shamus Hammons [Sun, 3 Feb 2013 22:44:40 +0000 (16:44 -0600)]
Forgot to bump patch level on version.h :-P

8 years agoFixed missing error reporting on fixup stage.
Shamus Hammons [Sun, 3 Feb 2013 17:59:21 +0000 (11:59 -0600)]
Fixed missing error reporting on fixup stage.

8 years agoFixed error reporting wrong file, off-by-one error in file record system.
Shamus Hammons [Sun, 3 Feb 2013 16:39:51 +0000 (10:39 -0600)]
Fixed error reporting wrong file, off-by-one error in file record system.

8 years agoFixed compiler not checking for INCBIN in BSS sections.
Shamus Hammons [Sat, 2 Feb 2013 21:04:59 +0000 (15:04 -0600)]
Fixed compiler not checking for INCBIN in BSS sections.

Apparently the compiler did not care if an INCBIN happened in a BSS
section or not. Now the compiler cares and gives an error if you try to
do this terrible, terrible thing. :-D

8 years agoFixed problem with nested MACROs.
Shamus Hammons [Mon, 26 Nov 2012 04:49:46 +0000 (22:49 -0600)]
Fixed problem with nested MACROs.

While the assembler is in better shape vis-a-vis 64-bitness, there's
still a long way to go towards refactoring the thing to remove all
the problems it has with crufty data structures, and I'm sure there's
still bugs left in things like the .rept directive.

8 years agoSmall fix for FU_JR fixups.
Shamus Hammons [Sat, 24 Nov 2012 20:00:29 +0000 (14:00 -0600)]
Small fix for FU_JR fixups.

8 years agoFirst working 64-bit version of RMAC
Shamus Hammons [Sat, 24 Nov 2012 19:48:52 +0000 (13:48 -0600)]
First working 64-bit version of RMAC

There's still lots to do, like refactoring a bunch of stuff that's
still basically wrong, but that's par for the course. There may be
more things that need fixing (like the .rept function, for example).

8 years agoCode cleanup and prepartion for 64-bit host fixes
Shamus Hammons [Fri, 23 Nov 2012 16:39:09 +0000 (10:39 -0600)]
Code cleanup and prepartion for 64-bit host fixes

I removed a few functions that are better off being handled by the
native system libraries (malloc for amem, strdup for nstring). Also,
cleaned up files in preparation for removing pointers from the token
stream--which is preventing RMAC from working on 64-bit systems.

8 years agoNo more crash whith some assembler file :
SCPCD [Mon, 9 Jul 2012 15:28:06 +0000 (15:28 +0000)]
No more crash whith some assembler file :
the mask applied to "attr" in "fixup" function was wrong.

With a mask of 0x0200, other FU_xxx can match and unexpected behavior will arise.

9 years agoMore readability cleanups.
James Hammons [Thu, 19 Jan 2012 22:28:32 +0000 (22:28 +0000)]
More readability cleanups.

9 years agoCode cleanups.
James Hammons [Wed, 18 Jan 2012 02:06:46 +0000 (02:06 +0000)]
Code cleanups.

9 years agoFix problem in tokenizer that caused legit code to make assembler barf.
James Hammons [Wed, 18 Jan 2012 01:23:27 +0000 (01:23 +0000)]
Fix problem in tokenizer that caused legit code to make assembler barf.

9 years agoFix submitted by partycle: Make errors GNU compatible.
James Hammons [Wed, 11 Jan 2012 17:31:31 +0000 (17:31 +0000)]
Fix submitted by partycle: Make errors GNU compatible.

9 years agoRemoved Interactive Mode. Sorry, but the 1980s called and said they wanted
James Hammons [Mon, 2 Jan 2012 12:09:20 +0000 (12:09 +0000)]
Removed Interactive Mode. Sorry, but the 1980s called and said they wanted
their limited resource feature back. ;-)

9 years agoUpdated printf commands that were complaining about long-words as necessary.
Graeme Hinchliffe [Sun, 1 Jan 2012 18:22:47 +0000 (18:22 +0000)]
Updated printf commands that were complaining about long-words as necessary.

Updated date in copyright from 2011 to 2011-2012

9 years agoCreated a quick and dirty windows based makefile.
Graeme Hinchliffe [Sun, 1 Jan 2012 18:05:45 +0000 (18:05 +0000)]
Created a quick and dirty windows based makefile.

Corrected definitions of BYTE, WORD and LONG to appropriate uintN_t values.. (it's warning like a mofo at the moment but tested and it assembled happily enough 68K and RISC)

9 years agocorrected main's deffinition and set it to return with 0 so make didn't cry
Graeme Hinchliffe [Wed, 28 Dec 2011 12:38:51 +0000 (12:38 +0000)]
corrected main's deffinition and set it to return with 0 so make didn't cry

9 years agoFix for USP token, submitted by ggn.
James Hammons [Tue, 27 Dec 2011 14:10:26 +0000 (14:10 +0000)]
Fix for USP token, submitted by ggn.

9 years agoVarious cleanups to fix compiler warnings.
James Hammons [Mon, 26 Dec 2011 23:54:45 +0000 (23:54 +0000)]
Various cleanups to fix compiler warnings.

9 years agoInitial commit.
James Hammons [Mon, 26 Dec 2011 22:50:27 +0000 (22:50 +0000)]
Initial commit.