6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 14, 2024 6:34 am

All times are UTC




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Kowalski Port Updates
PostPosted: Tue May 07, 2024 4:44 am 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Figured I should put status up dates for my efforts to port the code here.

The current status is that I've gotten the code to compile, and I can now load up and edit assembly files.

My next task is to get it to load binaries and run the simulator itself.

Here's a screen shot of the current state running on Linux and Windows.
(My Linux box is forwarding its X11 requests to my Windows machine)


Attachments:
Screenshot 2024-05-06 234041.png
Screenshot 2024-05-06 234041.png [ 129.19 KiB | Viewed 1781 times ]
Top
 Profile  
Reply with quote  
PostPosted: Tue May 07, 2024 5:07 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1746
Location: Sacramento, CA
looking good - thanks for the update!

Daryl

_________________
Please visit my website -> https://sbc.rictor.org/


Top
 Profile  
Reply with quote  
PostPosted: Tue May 07, 2024 1:03 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Yuri wrote:
my efforts to port the code
For context, see this post and others which follow in the topic "Kowalski Simulator Updates."

-- Jeff

Yuri wrote:
I'm thinking that I will try branching and seeing if I can port it to using wxWidgets or something so folks can run it on other OSes than Windows.

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Thu Jul 04, 2024 9:44 pm 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Just a quick update on this.

I now have an automatic build setup on github that will build both Windows and Linux when code is checked in. Hopefully this will be a good start on a simple CD/CI pipeline to have builds and releases automated.

This will also afford automatic unit testing in the future, and building in a clean build environment.

Added a raw binary format loader, and I'm going to proceed with getting the simulator itself to run with some basic 6502 diagnostic software.


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 28, 2024 1:25 pm 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Changes from 1.4.0.3 have been merged into the wx_port branch.


Top
 Profile  
Reply with quote  
PostPosted: Thu Aug 01, 2024 9:23 am 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Okay, after some head bashing from a weird NULL de-reference bug in wxWidgets, that I still haven't quite figured out, I was able to get the assembler to run on a dirt simple assembly file.

Still needs work in that department; however it is progress.

Next up will be to try and actually run the simulator.

EDIT:
For reference this is where the NULL error is/was.... The debugger wouldn't even let me step into the line..... >_<

Attachment:
Screenshot 2024-08-01 021316.png
Screenshot 2024-08-01 021316.png [ 259 KiB | Viewed 1496 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 09, 2024 9:44 pm 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Working on the memory display:

This is what I have working in action on Linux
Attachment:
Screenshot 2024-08-09 164205.png
Screenshot 2024-08-09 164205.png [ 112.27 KiB | Viewed 1403 times ]


I'd like to be able to support displaying different character sets in the right there. (E.g. Petscii)
Are there any other character sets that might be good to show there?


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 18, 2024 1:51 am 
Offline

Joined: Sun Nov 08, 2009 1:56 am
Posts: 410
Location: Minnesota
ATASCII, maybe. Screen code glyphs, maybe, in case a program is not bothering to convert whatever version of ASCII its host uses to screen codes at run time.


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 18, 2024 2:13 am 
Offline

Joined: Thu Aug 15, 2024 10:58 pm
Posts: 4
Yuri wrote:
Working on the memory display:

I'd like to be able to support displaying different character sets in the right there. (E.g. Petscii)
Are there any other character sets that might be good to show there?


You might use the Unicode control pictures to display the ASCII control codes rather than blanks:
https://www.compart.com/en/unicode/block/U+2400

Attachment:
Screenshot from 2024-08-17 21-11-09.png
Screenshot from 2024-08-17 21-11-09.png [ 292.79 KiB | Viewed 910 times ]


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 18, 2024 3:16 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8540
Location: Southern California
Yuri wrote:
I'd like to be able to support displaying different character sets in the right there. (E.g. Petscii)
Are there any other character sets that might be good to show there?

I haven't been following this closely; but do you have code page 437?  It's what the pre-Windows IBM PCs used, and has the special characters we use a lot in engineering like ± µ ° ² Φ Ω etc., and a lot of characters that are good for drawing boxes and diagrams.  All the Epson dot-matrix impact printers (which they still make and sell about a dozen models of) support this set natively, so I loaded it also into my HP-71B hand-held computer to override its own Roman-8 set.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 18, 2024 3:43 am 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
teamtempest wrote:
ATASCII, maybe. Screen code glyphs, maybe, in case a program is not bothering to convert whatever version of ASCII its host uses to screen codes at run time.


I'll take a look at that one

jcollie wrote:
You might use the Unicode control pictures to display the ASCII control codes rather than blanks:


For Un*x (and presumably Mac) it should already be UTF-8, though it complains a bit if I try to print character 127 (which is a delete character)

Windows has it's own crazy NOT QUITE UTF-16, but IIRC Microsoft has some character set translation functions.

GARTHWILSON wrote:
I haven't been following this closely; but do you have code page 437?


Don't think that should be an issue.


So far the memory dump is working, and the assembler is able to parse my derp test program:
Attachment:
Screenshot 2024-08-17 224008.png
Screenshot 2024-08-17 224008.png [ 61.4 KiB | Viewed 903 times ]


The jump to edit is much like the old goto dialog, but now you can just type in there.
Recognizes decimal, 6502/C style hex addresses.
Also handles special cases of: "zp", "zeropage", "sp", "stack" and "stackpointer" to jump straight to those locations.

You can also prefix with a + or - to do a relative jump.


Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 18, 2024 3:55 am 
Offline

Joined: Thu Aug 15, 2024 10:58 pm
Posts: 4
Yuri wrote:
jcollie wrote:
You might use the Unicode control pictures to display the ASCII control codes rather than blanks:


For Un*x (and presumably Mac) it should already be UTF-8, though it complains a bit if I try to print character 127 (which is a delete character)


Unicode provides a replacement for DEL/0x7f too:

https://www.compart.com/en/unicode/U+2421


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 07, 2024 5:04 am 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Been a while, wanted to toss an update out there. Got the I/O window reworked, currently maps CP-437 to UTF.

I'm now working through getting the actual simulator code running again and working happily with the new UI bits and bobs. It says it runs, but so far my test application has not generated any output to the I/O window (yet). Still much to go through there.

The core simulator had several direct Win32 calls for sending update messages to the UI and creating Win32 specific threads.
The messages have been replaced in favor of a much cleaner signal/slot system, and isn't tied to any specific UI now.
The threads have been replaced with std::jthread in conjunction with std::stop_token.
In addition the use of newer C++ lambdas/std::bind have helped simplify a lot of the thread boiler plate.

With a fair chunk of that cleaned up, I'm hoping that part can be moved into a standalone library where a command line version might be created in the future.


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 09, 2024 9:11 am 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 256
Location: Texas
Code is running and writing to the IOWindow now!

Attachment:
Screenshot 2024-11-09 025845.png
Screenshot 2024-11-09 025845.png [ 49.98 KiB | Viewed 50 times ]


The smattering of direct calls to the IOWindow have been removed from the simulator.

The simulator now uses a simulated "bus" which it does all of its read/writes from, in combination with an abstract Device class, it should now be possible to create new devices without needing to modify the core simulator itself.

(E.g. one could make a simulated 6551 or 6522 for example)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: