Brass - 1.0.5.3 update [06/02/2014]
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Fair enough
http://benryves.com/bin/brass/
In any case, the new version adds proper array indexing, supports floating-point labels on the for loops, and a manual that's hopefully easier to find your way around (note: looks rubbish in IE, and the webring banner turned grey and went in the wrong spot again so I've temporarily removed it - I'm going to go back to a table-based layout for it now )
http://benryves.com/bin/brass/
In any case, the new version adds proper array indexing, supports floating-point labels on the for loops, and a manual that's hopefully easier to find your way around (note: looks rubbish in IE, and the webring banner turned grey and went in the wrong spot again so I've temporarily removed it - I'm going to go back to a table-based layout for it now )
-
- Calc King
- Posts: 2195
- Joined: Sun 27 Mar, 2005 4:06 am
- Location: sleeping
- Contact:
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
In any case, there was a major bug in the previous versions - for some reason I can't quite gather, there was a line of code to the effect of
Code: Select all
if (ExpandedOutput[i] != 0) {
BR.Data.Add(ExpandedOutput[i]);
}
Ignore everything it says about apps - it will output a .hex file for an 83+/73 app with a header which runs fine in Flash debugger, but if you sign it the 8xk is useless (doesn't work in Flash debugger) and if you use 2 pages or more the header appears to be invalid (lots of guesswork going on here) and so it won't sign or run in Flash debugger.
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Now signs apps, though the header is wrong so the 8xk doesn't really work in anything beyond PTI
EDIT: Fixed 8xp->8xk
EDIT: Fixed 8xp->8xk
Last edited by benryves on Wed 07 Jun, 2006 11:39 am, edited 1 time in total.
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
http://benryves.com/bin/brass/ - multipage apps now sign.
http://benryves.com/bin/brass/labels/ - new 83+ and 73 .lbl files
http://benryves.com/bin/brass/labels/ - new 83+ and 73 .lbl files
You da man
What are .lbl files..?
What are .lbl files..?
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
An ugly hack around the awful speed of the assembler - basically, just a binary file containing label names and values. Seeing as they don't have to be run through the macro preprocessor*, they load much much faster than the original .inc file.
One thing I neglected to mention is that the macro system has been changed slightly - for example:To fix this, you need to specify a pattern of {(0)} - parentheses around a value means "try and evaluate it before checking for a match". The idea was to allow this:
Problem is that you can't tell which page a label is on until you hit that label, and so I'd need to add an extra pass grouping labels into pages first.
*The macro preprocessor is one of the places that the assembler is incredibly slow thanks to my awful text parsing routines.
EDIT: Damn, would put the webring thing back up but Firefox is being a bloody nuisance. How do you declare a table, first column width 200, second column width rest of page, in Firefox?
One thing I neglected to mention is that the macro system has been changed slightly - for example:
Code: Select all
; Old style
.define x(y) .echoln "Generic"
.define x({0}) .echoln "0"
x(0) ; "0"
x(1-1); "0"
x(727) ; "Generic"
; New style
x(1-1); "Generic" <- doesn't match {0} any more
Code: Select all
.deflong icall(label)
.if :label == #
call label
.else
bcall(_label)
.endif
.enddeflong
; (Something like that, any way)
*The macro preprocessor is one of the places that the assembler is incredibly slow thanks to my awful text parsing routines.
EDIT: Damn, would put the webring thing back up but Firefox is being a bloody nuisance. How do you declare a table, first column width 200, second column width rest of page, in Firefox?
Code: Select all
<table width="100%">
<tr>
<td width="200">
Cell one
</td>
</tr><tr>
<td width="*"> (or don't define it)
Cell two
</td>
</tr>
</table>
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
http://benryves.com/bin/brass/index2.htm <- sadly not (Compare to IE/Opera)
Remove "display: block;" from #banner in style.css and it's fixed
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
http://benryves.com/bin/brass/maxim/ - download Brass.exe if you are using an existing version (numbered 1.0.4.3).
There was a fairly substantial list of weird bugs that have been identified through the help of Maxim of SMS Power!, which I am hoping to resolve.
Some substantial differences include:
There was a fairly substantial list of weird bugs that have been identified through the help of Maxim of SMS Power!, which I am hoping to resolve.
Some substantial differences include:
- String parsing bugs fixed in a lot of places.
- C-style /* */ multiline comments.
- Expression-parsing bugs fixed.
- No difference between '' and "" (ld hl,"hi" is possible!)
- .org works inside .relocated blocks