Page 3 of 7

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 10:57 am
by bugeyedcreepy
Oh, this thread is Gold!

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 2:13 pm
by djrm
The plot thickens ...
The combined rom source from JeffTranter as used in mecb6809 for mame has an alternative trace command (T) implemented using a code copy and break type of thing for some reason and not the timer based single step trace in the original Assis09. That would be ok f it worked well but it can't handle all instructions. In fact it bauks at the first instruction of the hello world example (leax,pcr). I'll have a go at making a rom with just the disassembler and monitor or better still try and get the stock 32k rom running which I dont think has this problem. I made progress and have the stock 2k Assis09 running in the emulator but the NMI single step didnt work there either.

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 3:53 pm
by djrm
Hi everyone,
Please could someone give me a copy of the asm6809 compatible source for jefftranters disasm patched to co-exist with the stock mecb Assis09 - to save me having to reinvent it. From comparison of sources the needed differences include changing clashing names and changing label style and some code changes for the integration. (Im not wanting the trae module or basic at present)

btw, is asm6809 capable of linking multiple source modules? I'd prefer to do this rather than having to concatenate source files.
Best regards, David.

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 9:51 pm
by Editor
djrm wrote: Thu Aug 29, 2024 3:53 pm Hi everyone,
Please could someone give me a copy of the asm6809 compatible source for jefftranters disasm patched to co-exist with the stock mecb Assis09 - to save me having to reinvent it. From comparison of sources the needed differences include changing clashing names and changing label style and some code changes for the integration. (Im not wanting the trae module or basic at present)

btw, is asm6809 capable of linking multiple source modules? I'd prefer to do this rather than having to concatenate source files.
Best regards, David.
I'm not sure if I understand what you need, specifically.

But, I do have my verified original ASSIST09 source code, which I made compatible with the ASM6809 Assembler, on the MECB github here:
ASSIST09_Original_ASM6809.asm

ASM6809 does support the INCLUDE pseudo-op, so you can spread your source across multiple source files.
Alternatively, on the ASM6809 command-line: "If more than one SOURCE-FILE is specified, they are assembled as though they were all in one file."

Note also that ASSIST09 has "multiple means available for installing user modifications and extensions", without modifying the original monitor code.
e.g. You can put a $20FE flag (BRA *), at the location 2K below the start of the ASSIST09 ROM code, and the address following will be called as a subroutine (after vector table initialisation), with the U register pointing to the vector table.

I don't know if this helps you in any way, or if you already have/know all of this?

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 10:20 pm
by djrm
Hi, I didn't know about the ability to assemble multiple files as if they were one, that will help me.
What I am looking for is a version of disasm which will compile with your version of Assist09 using asm6809, i.e. with the colons removed from the labels and any other changes needed for the two to co-exist.

All the combined monitor and disasm versions I have seen have been for another assembler. If one isn't available then a session with grep and sed could be necessary. not something I'd look forward to sorting out the regex. But editing by hand is even more tiresome and error prone.

D

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 10:51 pm
by Editor
djrm wrote: Thu Aug 29, 2024 10:20 pm What I am looking for is a version of disasm which will compile with your version of Assist09 using asm6809, i.e. with the colons removed from the labels and any other changes needed for the two to co-exist.
Okay, understand. Unfortunately I can't help with that.
djrm wrote: Thu Aug 29, 2024 10:20 pm All the combined monitor and disasm versions I have seen have been for another assembler. If one isn't available then a session with grep and sed could be necessary. not something I'd look forward to sorting out the regex. But editing by hand is even more tiresome and error prone.
It's funny the memories you invoke at the mengion of regex. I had a workmate that was a true regex expert, therefore I never fully learned regex, as second nature, as it was always too easy for me to just say to my workmate: "I need a regex to..."

The funny follow-up is that I finally found my first (useful!) use for ChatGPT! ... "I need a regex to..." :geek:

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 10:54 pm
by djrm
I'm no regex expert, but find online regex make and test sites useful when I need to use regular expressions. There you can tinker until the required results are achieved. (no example to hand sorry)

Re: Simulating the MECB

Posted: Thu Aug 29, 2024 10:55 pm
by epaell
LOL, perhaps you can ask ChatGPT to update the disassembler for use in assist09 :-)

Re: Simulating the MECB

Posted: Fri Aug 30, 2024 8:39 am
by djrm
To convert label syntax to suit asm6809
convert newline word : to newline word space
Using web tool here: https://regex101.com/
with python and substitution selected...
search

Code: Select all

(\n[\.\w]+):
replace

Code: Select all

\g<1> 
(note space after <1>) this preserves formatting
simples :-)

Re: Simulating the MECB

Posted: Fri Aug 30, 2024 1:49 pm
by djrm
Editor wrote: Thu Aug 29, 2024 9:51 pm e.g. You can put a $20FE flag (BRA *), at the location 2K below the start of the ASSIST09 ROM code, and the address following will be called as a subroutine (after vector table initialisation), with the U register pointing to the vector table.
I now have a working disasm assembled with asm6809 together with your verified ASSIS09. Next is to use the method you described above to make the disassembler an extension source file independent to the Assisty09 source.

A bit more googling for examples required ...