6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue May 07, 2024 1:09 am

All times are UTC




Post new topic Reply to topic  [ 334 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 23  Next
Author Message
PostPosted: Mon Nov 09, 2020 7:46 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8175
Location: Midwestern USA
8BIT wrote:
I have found the reason the registry settings were not being read and have now corrected it. I did not encounter the editor issue reported, and cannot duplicated it, so will need more details if there is in fact an editor problem.

The updated Kowalski Simulator, version 1.2.15 - is attached here.

Thank you all for your feedback.

Daryl

I tried it out and everything appears to be okay, including the editor.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 10, 2020 3:14 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1683
Location: Sacramento, CA
I'm glad it is working better now. For those interested, here are the latest source code files that produce v1.2.15.

Daryl


Attachments:
6502 v1.2.15 source.zip [8.28 MiB]
Downloaded 122 times

_________________
Please visit my website -> https://sbc.rictor.org/
Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 10, 2020 7:15 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10799
Location: England
Thanks for picking up this project and continuing to maintain it!


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 10, 2020 3:21 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1683
Location: Sacramento, CA
I'm happy to help out where ever I can. I hope everyone finds it useful.

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 11, 2020 4:17 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1683
Location: Sacramento, CA
For those interested, I have also placed the latest source on github, here: https://github.com/DRictor/6502/tree/DR ... 02-v1.2.15

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 6:14 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1683
Location: Sacramento, CA
OK, so I thought I'd throw this tickler out.

Attachment:
65816.png
65816.png [ 113.75 KiB | Viewed 28637 times ]


Yes, I have added support for assembling 65816 code. Right now, it can properly assemble all of the 65816 opcodes and addressing modes, except WDM. The way the code is written, it used one value as a marker for an invalid opcode. For the 6501 and 65C02, there were plenty. The 65816 does not have any invalid opcodes. However, since WDM is reserved for future use, I chose to use it as the marker. You can still have a WDM opcode by using the .DB $42 directive.

As of now, it only operates on the first 64k of memory but I plan to expand that to the full 16MB (24 bit) address space.

Also, the Simulator and disassembler are currently disabled for 65816 mode. That will take a lot more time to complete, if ever.

I am still testing to syntax checker and am working on the memory extension. I will release a copy when I think its ready.

Is anyone interested in this new feature?

Daryl

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


Last edited by 8BIT on Fri Dec 18, 2020 5:29 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 8:49 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8175
Location: Midwestern USA
8BIT wrote:
OK, so I thought I'd through this tickler out...Is anyone interested in this new feature?

Well, I think you know of at least one dinosaur that would give it a spin. :D

BTW, you likely already know that internally all values are stored as 32-bit integers. So I'd think it wouldn't be too much of a leap to get 24-bit addressing to work.

One thing I'd really like to see is
% used for the binary radix instead of @. You can't imagine how many times I've been tripped up by that over the years. :D

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 8:50 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10799
Location: England
Sounds like a great idea!


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 1:06 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1683
Location: Sacramento, CA
BigDumbDinosaur wrote:
BTW, you likely already know that internally all values are stored as 32-bit integers. So I'd think it wouldn't be too much of a leap to get 24-bit addressing to work.

Well, the code uses UINT16 and UINT8 all over the place so right now any address over $FFFF gives errors or gets truncated. I know I can do it, its just going to take a lot of time to go line by line in the code to update address references to UINT32.

Quote:
One thing I'd really like to see is % used for the binary radix instead of @. You can't imagine how many times I've been tripped up by that over the years. :D

Unfortunately, % is used now for the Modulo function for expressions. I could change it, but then others might have issues with having to change their sources. Had % been available, I could have added it so that either could be used for binary radix and everyone would be satisfied.

Thanks for the feedback!

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 7:56 pm 
Offline

Joined: Mon May 21, 2018 8:09 pm
Posts: 1462
One reasonable standard prefix for binary constants is 0b, similarly to 0x for hxadecimal.


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 20, 2020 8:32 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8432
Location: Southern California
or putting a B after the 0's and 1's, as in ORA #00011100B, as a couple of assemblers I've used do. 0b and 0x are C language and its derivatives. It is apparently common for assemblers to accept multiple methods of specifying base.

_________________
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: Sat Nov 21, 2020 1:55 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 727
Location: Tokyo, Japan
GARTHWILSON wrote:
or putting a B after the 0's and 1's, as in ORA #00011100B, as a couple of assemblers I've used do. 0b and 0x are C language and its derivatives. It is apparently common for assemblers to accept multiple methods of specifying base.

Indeed. I ran into this recently when discussing base specification and symbol names with some MSX folks, as I was wanting to use the Motorola convention ($nn) for hex numbers rather than the Intel (0nnh).*

I was informed that many (most?) MSX assemblers do accept both, that it's not uncommon for MSX programmers to use the Motorola convention, and that there aren't really any technical issues with this. It's even safe to accept tokens matching [A-F][0-9A-F]*h; you just try looking them up in the symbol table first and, if they're not there, you interpret them as a constant. Apparently experience has shown the theoretical conflicts in this scheme cause no serious problems in practice.

___________________
* I had technical reasons for this: I wanted to be able easily to use the same data files included in both 6502/6800 and 8080/Z80 assembly source files. That of course does not change the incontrovertable fact that the Intel convention is morally wrong, a Sin Against God, people who prefer it are evil, it will bring about the collapse of civilisation, etc. etc.

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 21, 2020 8:51 am 
Offline

Joined: Tue Sep 03, 2002 12:58 pm
Posts: 296
% the numeric literal prefix and % the binary operator appear in different contexts, with no overlap. It's always possible to distinguish them, although an existing parser might not be structured in a way that makes it easy. It's similar to * being used for both "current assembly address" and multiplication, or - being used for negative numeric literals and subtraction.

I think I've mentioned it here before somewhere, but my favourite notation is [[radix]$]<number>. A number on its own is in decimal. With a $ before it, it's hex. If there's a number before the $, that specifies the radix. So 10 = $a = 16$a = 2$1010 = 8$12 = 6$14. Base 23 doesn't come up all that often, but if you ever need it, it's there. My assembler accepts % for binary as well, because it's a common convention.


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 21, 2020 6:46 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1683
Location: Sacramento, CA
The parser was not written to allow for the context of % to be distinguished. I do not plan to rewrite the parsing code, but have come up with a workaround for those who want % for a binary radix.

I have created a new option flag "SwapBin" which swaps the symbols % and @ functions. When added to the source, % will be the binary radix and @ will be the Modulo operator.

Code:
     .opt SwapBin

     LDA #%10100101 - returns LDA #$A5
     LDX #13@5  - returns LDX #$03


I hope everyone will find that acceptable.

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 21, 2020 8:04 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8175
Location: Midwestern USA
8BIT wrote:
The parser was not written to allow for the context of % to be distinguished. I do not plan to rewrite the parsing code, but have come up with a workaround for those who want % for a binary radix.

I have created a new option flag "SwapBin" which swaps the symbols % and @ functions. When added to the source, % will be the binary radix and @ will be the Modulo operator.

Code:
     .opt SwapBin

     LDA #%10100101 - returns LDA #$A5
     LDX #13@5  - returns LDX #$03


I hope everyone will find that acceptable.

Daryl

Looks like a good compromise to me. I use binary values much more often than I use the modulo function.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 334 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 23  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 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: