Brass - 1.0.5.3 update [06/02/2014]
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
I've been having...shall we say... "technical difficulties" with my laptop, and I'm afraid I have to migrate DCS6 development to a new computer with my most recent backup, December 12th. That's why I didn't get it out on time. Anyway, I installed Brass, set up wappsign's environment variable, yet whenever I try to start up Brass from either explorer.exe or from a command prompt, I get "The application failed to initialize properly (0xc0000125). Click on OK to terminate the application." I seem to vaguely remember you mentioning to me at one point needing a VB6 library of some sort in order to make it work - is that what the problem is? A missing lib?
- benryves
- Maxcoderz Staff
- Posts: 3087
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
.NET 3.0 Runtimes
Confusingly I believe 3.5 will add new language features, so who knows WTF is up with Microsoft's version numbering system.
(Incidentally, the reason you get that rather unhelpful error is the nature of .NET applications. They are distributed as CIL, but the Microsoft compilers wrap that CIL in an EXE with a small bootstrapper for the runtimes - if you are missing the runtimes, the bootstrapper fails, and hence the error message).
.NET 3.0 is based around .NET 2.0 with a few additions to the class library so it should cover all .NET 2.0 apps as well. I don't know whether it covers .NET 1.0/1.1 though....installs the common language runtime...
Confusingly I believe 3.5 will add new language features, so who knows WTF is up with Microsoft's version numbering system.
(Incidentally, the reason you get that rather unhelpful error is the nature of .NET applications. They are distributed as CIL, but the Microsoft compilers wrap that CIL in an EXE with a small bootstrapper for the runtimes - if you are missing the runtimes, the bootstrapper fails, and hence the error message).
- KermMartian
- Calc Wizard
- Posts: 549
- Joined: Tue 05 Jul, 2005 11:28 pm
- Contact:
- tr1p1ea
- Maxcoderz Staff
- Posts: 4141
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: I cant seem to get out of this cryogenic chamber!
- Contact:
Hey Ben, im loving Brass atm.
One thing, it seems that Brass is assembling the instructions 'OR IYL' and 'OR IYH' to the same instruction. Namely they are both being assembled as 'OR IYH'.
Took me a little while to figure it out, but thats what i get for using undocumented instructions
.
I have been able to get around it by just coding the opcode bytes directly, so its no big deal.
One thing, it seems that Brass is assembling the instructions 'OR IYL' and 'OR IYH' to the same instruction. Namely they are both being assembled as 'OR IYH'.
Code: Select all
OR IYL is .db $FD,$B5
OR IYH is .db $FD,$B4
![Smile :)](./images/smilies/grayscale_smile.gif)
I have been able to get around it by just coding the opcode bytes directly, so its no big deal.
Last edited by tr1p1ea on Wed 21 Mar, 2007 1:39 pm, edited 1 time in total.
- benryves
- Maxcoderz Staff
- Posts: 3087
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Brass 1.0.4.10 (should be fixed).
Also had a look at list files; they seem to be working.
Let me know if you find any other oddities.
Also had a look at list files; they seem to be working.
Let me know if you find any other oddities.
- tr1p1ea
- Maxcoderz Staff
- Posts: 4141
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: I cant seem to get out of this cryogenic chamber!
- Contact:
Cool Ben! Listing works just fine now
.
I was wondering if you could check the .align instruction ... i seem to be having problems with it, more specifically aligning to a 256byte boundry with '.align 256'. The listing file would show that it is aligned, but when i view the contents of the page in PindurTI, that doesnt seem so. It appears that the padding may split the data at the beginning a little.
![Smile :)](./images/smilies/grayscale_smile.gif)
I was wondering if you could check the .align instruction ... i seem to be having problems with it, more specifically aligning to a 256byte boundry with '.align 256'. The listing file would show that it is aligned, but when i view the contents of the page in PindurTI, that doesnt seem so. It appears that the padding may split the data at the beginning a little.
- benryves
- Maxcoderz Staff
- Posts: 3087
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
You could try manually, ie...and seeing if that helps.
If there is a bug, chances are its in the Intel Hex output rather than the actual align directive (you could verify by outputting a binary and looking for your data in a hex editor)..? I rely on it quite heavily for 256-byte aligned tables, and not had a problem yet.
Code: Select all
.org ($ + $00FF) & $FF00
If there is a bug, chances are its in the Intel Hex output rather than the actual align directive (you could verify by outputting a binary and looking for your data in a hex editor)..? I rely on it quite heavily for 256-byte aligned tables, and not had a problem yet.
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
- benryves
- Maxcoderz Staff
- Posts: 3087
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Re: Brass - 1.0.5.2 update [Tuesday 24/09/2013]
It's been a while since I posted here, but there have been some updates to Brass:
- 1.0.5.2 - .branch directive no longer aligns to 3-byte boundaries.
- 1.0.5.1 - defined() function allows you to check whether macros are defined without needing to nest/duplicate .ifdef directives.
- 1.0.5.0 - .appheaderpadding directive to change the application header padding (defaults to 128 bytes, allows you to reduce the size of the header and free up some space on the first page).
- benryves
- Maxcoderz Staff
- Posts: 3087
- Joined: Thu 16 Dec, 2004 10:06 pm
- Location: Croydon, England
- Contact:
Re: Brass - 1.0.5.3 update [06/02/2014]
Brass is now open source and hosted on GitHub: https://github.com/benryves/Brass
I've been loath to touch the code since switching development efforts over to Brass 3 as it was not very well written in the first place (it was my first project in C#) and I never used source control so didn't want to risk making breaking changes and not have a way to revert them. I found a few backups from different dates so I committed them in turn to create the repository, and dug around my hard drive for all releases and uploaded those too.
This is presented more as a historical curiosity and for archival purposes than anything else, in the off-chance anyone is still using a project that relies on it. As the README states:
I've been loath to touch the code since switching development efforts over to Brass 3 as it was not very well written in the first place (it was my first project in C#) and I never used source control so didn't want to risk making breaking changes and not have a way to revert them. I found a few backups from different dates so I committed them in turn to create the repository, and dug around my hard drive for all releases and uploaded those too.
This is presented more as a historical curiosity and for archival purposes than anything else, in the off-chance anyone is still using a project that relies on it. As the README states:
That said, there was a 1.0.5.3 release from 2014 that I never posted here before:Warning: This is not a good program. Please do not use it in your new projects.
Bugfixes
Intel HEX and TI-83 Plus application output formats now generate the correct address when there are non-contiguous addresses (e.g. after .block).