Kowalski Simulator Updates

Topics pertaining to the emulation or simulation of the 65xx microprocessors and their peripheral chips.
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Kowalski Simulator Updates

Post by BigDumbDinosaur »

8BIT wrote:
I would rather force 16 bit mode and keep the plain '#' reserved for 8 bit use. ... just my thoughts.

I agree. The C32 assembler is non-standard in that regard.

The Kowalski assembler will automatically assemble a 16-bit immediate mode operand if it naturally resolves to 16 bits, assuming the assembler is configured to operate in 816 compatibility mode. By default, I routinely preface an immediate mode operand with !# when I want a 16-bit field assembled, even if it is certain the operand will always resolve to 16 bits. It's my way of making it known to me what the state of m and x is expected to be when that particular code segment is executed.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Kowalski Simulator Updates: Error Loop

Post by BigDumbDinosaur »

Okay, I ran into an interesting issue.

I was test-assembling some code and accidentally triggered an error due to an illegal character being present in a label name. The error reported was An invalid argument was encountered., with an OK button to click to clear the error. However, the assembler got stuck in a loop and clicking OK would not clear the error, instead reiterating it. It was necessary to kill Kowalski from within the Windows task manager to break out of the loop.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Kowalski Simulator Updates: Error Loop

Post by 8BIT »

BigDumbDinosaur wrote:
Okay, I ran into an interesting issue.

I was test-assembling some code and accidentally triggered an error due to an illegal character being present in a label name. The error reported was An invalid argument was encountered., with an OK button to click to clear the error. However, the assembler got stuck in a loop and clicking OK would not clear the error, instead reiterating it. It was necessary to kill Kowalski from within the Windows task manager to break out of the loop.
Can you post a copy of the line that caused the error? That way I can trace its path through the code.

thanks!

Daryl
Please visit my website -> https://sbc.rictor.org/
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Kowalski Simulator Updates: Error Loop

Post by BigDumbDinosaur »

8BIT wrote:
BigDumbDinosaur wrote:
Okay, I ran into an interesting issue.

I was test-assembling some code and accidentally triggered an error due to an illegal character being present in a label name. The error reported was An invalid argument was encountered., with an OK button to click to clear the error. However, the assembler got stuck in a loop and clicking OK would not clear the error, instead reiterating it. It was necessary to kill Kowalski from within the Windows task manager to break out of the loop.
Can you post a copy of the line that caused the error? That way I can trace its path through the code.

thanks!

Daryl
I was afraid you'd ask. :D

I lost the piece of code that caused the error when I had to forcibly terminate the assembler and now can't recall precisely what it was I did to provoke the problem. However, I seem to recall that the same error could be triggered by passing too many arguments in a macro invocation. I will try that and report back.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Kowalski Simulator Updates

Post by 8BIT »

So far, that appears to be a C language library generated error vs. an error generated by the simulator. It will take some time to trace down the source.

Thanks for pointing it out.

Daryl
Please visit my website -> https://sbc.rictor.org/
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Kowalski Simulator Updates

Post by 8BIT »

I have found the code that is causing the error and added a test that will generate the following Simulator Error and stop assembly:
"ERROR E043: Referenced parameter not exist--param number out of range"

I have posted the updated files to my website as version 1.3.4.2.

https://sbc.rictor.org/kowalski.html

Thanks!

Daryl
Please visit my website -> https://sbc.rictor.org/
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Kowalski Simulator Updates

Post by BigDumbDinosaur »

8BIT wrote:
I have found the code that is causing the error and added a test that will generate the following Simulator Error and stop assembly:
"ERROR E043: Referenced parameter not exist--param number out of range"

I have posted the updated files to my website as version 1.3.4.2.

https://sbc.rictor.org/kowalski.html

Thanks!

Daryl
Excellent! I've downloaded it and will give it a spin.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Kowalski Simulator Updates

Post by BigDumbDinosaur »

8BIT wrote:
I have found the code that is causing the error and added a test that will generate the following Simulator Error and stop assembly:
"ERROR E043: Referenced parameter not exist--param number out of range"

I have posted the updated files to my website as version 1.3.4.2.

https://sbc.rictor.org/kowalski.html

Thanks!

Daryl

Looks as though the problem is fixed. Good job!
Last edited by BigDumbDinosaur on Mon May 03, 2021 5:15 pm, edited 1 time in total.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
barrym95838
Posts: 2056
Joined: 30 Jun 2013
Location: Sacramento, CA, USA

Re: Kowalski Simulator Updates

Post by barrym95838 »

BigDumbDinosaur wrote:
Looks as though the problem is fixed. God job!
Daryl might be a super-hero, but I would pull-up short of handing him "God" status. :lol:
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Kowalski Simulator Updates

Post by BigDumbDinosaur »

barrym95838 wrote:
BigDumbDinosaur wrote:
Looks as though the problem is fixed. God job!
Daryl might be a super-hero, but I would pull-up short of handing him "God" status. :lol:

I demoted him back to regular status. :D
x86?  We ain't got no x86.  We don't NEED no stinking x86!
Aloha6502
Posts: 69
Joined: 17 Feb 2021

Re: Kowalski Simulator Updates

Post by Aloha6502 »

Hi Daryl, Folks,

Can I view different memory locations in different windows? Say, watch $1000 and also $2000

And also, how can I jump to a memory location without having to scroll the window?

Thanks.
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Kowalski Simulator Updates

Post by 8BIT »

There is only one Memory window, so can only view 1 range. There is also a separate zero-page display.

If you right click on that window, there is an option to "Display from address", which allows you to enter a specific address. You can also modify memory from here, which is useful for debugging.

Thanks!

Daryl
Please visit my website -> https://sbc.rictor.org/
Aloha6502
Posts: 69
Joined: 17 Feb 2021

Re: Kowalski Simulator Updates

Post by Aloha6502 »

8BIT wrote:
There is only one Memory window, so can only view 1 range. There is also a separate zero-page display.

If you right click on that window, there is an option to "Display from address", which allows you to enter a specific address. You can also modify memory from here, which is useful for debugging.

Thanks!

Daryl
Thanks Daryl! And let me be yet another person to thank you for sharing your passion. I won't say "work" because it probably isn't work for you, but all of it is fantastic!
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Kowalski Simulator Updates

Post by 8BIT »

BigDumbDinosaur wrote:
barrym95838 wrote:
BigDumbDinosaur wrote:
Looks as though the problem is fixed. God job!
Daryl might be a super-hero, but I would pull-up short of handing him "God" status. :lol:

I demoted him back to regular status. :D

You guys are killing me :lol:
Please visit my website -> https://sbc.rictor.org/
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Kowalski Simulator Updates

Post by BigDumbDinosaur »

Interesting note. With the assembler now fully understanding the 65C816, I am finding that my code has become more compact and readable due to not having to invoke the macros I had developed to implement 816-specific instructions and addressing modes. This is especially the case with macros with unwieldy names, such as STAILY, which implements STA [<dp>],Y.

Furthermore, assembly is quicker with large programs. For example, POC V1.2's firmware, currently at 12,887 lines of source code, assembles in about a second, with the assembler running on my old Windows XP SP3 machine (powered by an AMD Athlon X2 dual-core MPU). The final version of the firmware that used the 816 macros required about five seconds to assemble. In both cases, the firmware has a bunch of INCLUDE files, which means multiple disk accesses that affect assembly time. That variable hasn't changed, which suggests the assembly performance gain is due to not having to repeatedly look up and expand the 816 macros.

Also very useful are the new pseudo-ops that accomplish things that required macros in the past, such as embedding the assembly date and time, as well as 24- and 32-bit constants. Again, code becomes more compact and readable.

Once again, thank you, Daryl, for expending your time and effort on this software. I'm hoping that having a freely-available 65C816 assembler will encourage others to get involved with the 816 and all that it has to offer.

aout.txt
POC V1.2 Firmware Assembly Listing (generated by assembler version 1.3.4.2)
(590.11 KiB) Downloaded 79 times
x86?  We ain't got no x86.  We don't NEED no stinking x86!
Post Reply