Brass - 1.0.5.3 update [06/02/2014]
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
I'm not sure if this has been reported yet, but Brass seems to run just fine under Linux with Mono. Took me a minute to remember I had to use the 2.0 libraries and not the 1.0 ones, but after that it runs like a charm. Which is nice because now I can code on my laptop too if I ever have time in the weekends...
Latenite however gives a nice error:
On to trying to get PTI running...
Latenite however gives a nice error:
Code: Select all
** (./Latenite.exe:10203): WARNING **: Missing member set_DoubleBuffered in type Control, assembly /usr/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Latenite.Program ---> System.MissingMethodException: Method not found: 'System.Windows.Forms.Control.set_DoubleBuffered'.
in <0x00000> <unknown method>
in (wrapper remoting-invoke-with-check) FlickerFreeForm:.ctor ()
in <0x00084> Latenite.Program:.cctor ()--- End of inner exception stack trace ---
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
Hmm... Brass runs, it outputs sane information and errors to the command line, but the output file is two bytes big and only contains "#"... Am I running it incorrectly? Am I missing something?
$ ./Brass.exe test.asm test.83p
$ ./Brass.exe test.asm test.83p
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
-
- Calc Master
- Posts: 1110
- Joined: Mon 20 Dec, 2004 10:01 pm
- Location: In the state of Roo Fearing
- Contact:
http://kvince83.tengun.net/maxboard/vie ... 9304#49304Timendus wrote:I'm not sure if this has been reported yet, but Brass seems to run just fine under Linux with Mono.
He went and fixed that, and it at least ran without errors then. I never tried assembling something with it, though.
The windows version works perfectly with Wine. The Linux version only supports the scripted mode..? Shouldn't this ouput 96*64 bytes to the console?CoBB wrote:You can always try using the Linux build, perhaps renamed to .exe. It supports the scripting mode after all.Timendus wrote:On to trying to get PTI running...
Code: Select all
send-file TI-83.rom
OK
activate-slot 0
OK
run 5000
OK
draw-screen-bw
OK
11
@Andy: I'm sorry, I guess I hadn't seen that It does indeed run, but it writes only one "#" to the output file, so I guess there's still some error in it. Maybe Ben can add an option to output the file output to the command line when it compiles properly, so we can just pipe it in a file..?
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
Ah, I think I found the problem
It gives a nice crash though if you try to include a file that is in DOS format And now it doesn't seem to include my headers at all anymore... but seeing that it was my screwup last time I guess I'll keep trying
Edit: It still doesn't compile those headers, so I dumped them and adapted the Latenite headers to work with my script. Runs fine now. See Programming Help forum for a download.
Code: Select all
.binarymode TI83
.variablename "TEST"
Edit: It still doesn't compile those headers, so I dumped them and adapted the Latenite headers to work with my script. Runs fine now. See Programming Help forum for a download.
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:
Glad you got it working
System.Windows.Forms isn't the issue with Latenite; it uses a lot of P/Invoke to the Win32 API to shoehorn the text hightlighting functionality into the RichTextBox.
Anyway, I hope this doens't break Linux support (it shouldn't):
Brass 1.0.4.8 - ASCII mapping now works once more.
System.Windows.Forms isn't the issue with Latenite; it uses a lot of P/Invoke to the Win32 API to shoehorn the text hightlighting functionality into the RichTextBox.
Anyway, I hope this doens't break Linux support (it shouldn't):
Brass 1.0.4.8 - ASCII mapping now works once more.
So if you'd release a version without syntax highlighting () we should be able to use that under Linux without any trouble?
I'll test the new Brass version when I boot my laptop again... hopefully some time this week. Too much to do...
I'll test the new Brass version when I boot my laptop again... hopefully some time this week. Too much to do...
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
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
I tested the new Brass a bit, I saw no bugs so far, although it still doesn't want to make a listfile (which used to be quite neat, 1.0.4.6 was the last version which made it)
Anyway, I had hoped for the syntax highlighing trick, does this version allready have it but hidden? (ie: Latenite doesnt use it yet so it gets lost)
Or is that going to be version 2, the one without TASM compatibility?
Anyway, I had hoped for the syntax highlighing trick, does this version allready have it but hidden? (ie: Latenite doesnt use it yet so it gets lost)
Or is that going to be version 2, the one without TASM compatibility?
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Probably not even then, as it's very strongly tied to System.Windows.Forms (not part of the CLI spec, as far as I'm aware, so the Mono bods have to work it out themselves rather than work it out from the reference).Timendus wrote:So if you'd release a version without syntax highlighting () we should be able to use that under Linux without any trouble?
The bug was this:
- Trim first/last characters on string (remove the quotes).
- Check if it starts with ", if so apply ASCII-mapping.
Latenite 2 will hopefully use no Win32 P/Invoke, seeing as the text editor is written in 100% .NET-wrapped GDI+.
Speaking of "things with a 2", developing Latenite 2 and Brass 2 at the same time was silly (as Brass 2 kept having the basic syntax parsing changed, meaning that Latenite 2 had to also keep getting updated). I'll probably get Brass working sensibly, then move onto the Latenite 2 side of things.
That said, Brass 2 will now actually assemble some primitive code. By primitive, that's anything without labels and without expressions. I wish I had a decent amount of time to work on it
The command-line interface is rather cumbersome; as opposed to this:
Code: Select all
X:\>Brass.exe source.asm output.asm
Code: Select all
X:\>Brass.exe -Plugin asm_z80.dll -Plugin out_ti.dll -Assembler Z80 -Output TI8X -Source source.asm -Destination source.8xp
I'd been thinking of a simple INI-file solution that could be used to store profiles. For example, you could have TI.ini:
Code: Select all
[All]
Plugin = asm_z80.dll
Plugin = out_ti.dll
[TI8X]
Output = TI8X
Destination = $(Source).8xp
[TI83]
Output = TI83
Destination = $(Source).83p
[TI82]
Output = TI82
Destination = $(Source).82p
Code: Select all
X:\>Brass.exe -Profile TI.TI8X -Source source.asm
What really needs doing at the moment is sorting out the Brass 2 syntax parser. At the atomic level you have tokens ("xor" or "+"), one level up these can be grouped into expressions (if possible - so "ld" or {"1", "+", "1"}), one level up from that they can be grouped into a command ({".include", "file.asm"} or {"ld", "a", ",", {"1", "+", "1"}}) - yet another level up and you have a source line (made up of multiple commands) and finally a source file. By working this out as I went along it's a bit of a mess and the grouping is far from perfect, so it rather needs addressing.
Seeing as these various levels of broken-down-syntax need to be passed to third-party programs (custom plugins, or even Latenite itself) I can't get away with the kludgy mess that's in the original Brass (see: how awfully slow it is).
- benryves
- Maxcoderz Staff
- Posts: 3089
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
What syntax highlighting trick? Brass 2 will expose methods to let programmers (well, just me, probably) work out what each character of the source corresponds to. Brass 1 will never provide that functionality.King Harold wrote:Anyway, I had hoped for the syntax highlighing trick, does this version allready have it but hidden?