6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Apr 25, 2024 8:50 pm

All times are UTC




Post new topic Reply to topic  [ 331 posts ]  Go to page Previous  1 ... 12, 13, 14, 15, 16, 17, 18 ... 23  Next
Author Message
PostPosted: Tue May 04, 2021 10:22 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1681
Location: Sacramento, CA
Having a good assembler for the 65816 was the main driver for expanding the software. My use of the 65816 on SBC-3 and SBC-4 taught me a lot about its capabilities. I used TASS for my OS and also had to use macros for the 65816 opcodes.

I hope as others start to experiment with the 65816, they find this package useful.

Someday, I will start working on the simulator for the 65816. That's a huge lift from the 65C02 and will take a lot of effort and time.

Kind regards,

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Tue May 04, 2021 10:57 pm 
Offline

Joined: Wed Feb 17, 2021 6:54 am
Posts: 69
I'm actually amazed to be reading all these latest efforts and even new developments for the 65xx platform, in May of 2021 (and not May of 1981) and even have the opportunity to interact with a thriving community around it.


Top
 Profile  
Reply with quote  
PostPosted: Wed May 05, 2021 4:37 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8143
Location: Midwestern USA
Aloha6502 wrote:
I'm actually amazed to be reading all these latest efforts and even new developments for the 65xx platform, in May of 2021 (and not May of 1981) and even have the opportunity to interact with a thriving community around it.

65C02 technology is found in applications you might not expect. One such application is implanted cardiac pacers and defibrillators, in which the characteristics of the WDC version of the 65C02 are particularly appropriate (read up on the STP and WAI instructions to find out why). Another application in which the 65C02 was heavily used was analog modems, of which countless millions were produced when dial-up reigned supreme. Anyone who ran a BBS in the 1980s or 1990s, or accessed such a BBS, likely used a Hayes-compatible modem incorporating a Rockwell chipset that included an R6502 or R65C02 MPU.

As well, there are numerous other products that have a 65C02 or 65C816 at their core. My previous microwave oven had a 65C02. Mike Naberezny, owner of 6502.org, discovered there was a 65C02 in his car's instrument cluster. I've seen them in machine tool control systems and a railroad project with which I was involved in the 1970s used the 6502.

It has been estimated that production of such devices runs to several hundred million per year, and that over the lifetime of the 65xx family, multiple billions of units have been produced. We think of x86 technology as being ubiquitous because it's the foundation of most present-day personal computers, but the 65C02 architecture appears at this time to be far more ubiquitous than Intel and Motorola products combined.

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


Top
 Profile  
Reply with quote  
PostPosted: Thu May 13, 2021 9:22 am 
Offline

Joined: Thu May 13, 2021 8:56 am
Posts: 25
Location: Hellevoetsluis-NL
Hello,
I am new on this forum, and the information found on it is great!

Is it posible to ad an extra future to the IDE.

Posibility to save the indentifiers showing in a window to a file, for example when window is activate using the right mous button.

I’m using the IDE for compiling figforth. Run the object when transformed on a Esp32 with 6502 emulator. Have now running figfort on my esp32!

Cheers,Jan


Top
 Profile  
Reply with quote  
PostPosted: Thu May 13, 2021 11:42 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1681
Location: Sacramento, CA
Hello Jan,

I will look into that. I am currently in my busy season at work and do not have very much free time, so this may take some time.

Congrats on getting FigForth running on your platform.

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 04, 2021 4:32 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1681
Location: Sacramento, CA
I have discovered a new bug in saving code.

My SbcOS has reset code written starting at $FF00. It fills most of the page but there is some unused space at the end. I also include 3 .WORD statements starting at $FFFA to hold the IRQ, NMI, and RESET vectors.

Both the Intel Hex and Motorola S records do not include those last 6 bytes. The records end with the reset code and the extra record setting the ORG address.

The old version 1.2.13 does include the vectors, so it appears I broke something, most likely with my 65816 modifications. I'll provide an update when this is corrected.

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 04, 2021 8:17 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8143
Location: Midwestern USA
8BIT wrote:
I have discovered a new bug in saving code...Both the Intel Hex and Motorola S records do not include those last 6 bytes.

I never noticed that issue, as I produce a pure binary for burning firmware into an EPROM. The pure binary always picks up the vector bytes.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 05, 2021 5:58 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1681
Location: Sacramento, CA
8BIT wrote:
I have discovered a new bug in saving code.

My SbcOS has reset code written starting at $FF00. It fills most of the page but there is some unused space at the end. I also include 3 .WORD statements starting at $FFFA to hold the IRQ, NMI, and RESET vectors.

Both the Intel Hex and Motorola S records do not include those last 6 bytes. The records end with the reset code and the extra record setting the ORG address.

The old version 1.2.13 does include the vectors, so it appears I broke something, most likely with my 65816 modifications. I'll provide an update when this is corrected.

Daryl


This has been repaired - the new version is 1.3.4.3 and can be downloaded from my website here -> https://sbc.rictor.org/kowalski.html

Be safe!

Daryl

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 05, 2021 8:31 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8143
Location: Midwestern USA
8BIT wrote:
8BIT wrote:
I have discovered a new bug in saving code...

This has been repaired - the new version is 1.3.4.3 and can be downloaded from my website here -> https://sbc.rictor.org/kowalski.html

Once again, a hearty "thanks" for doing what you've done with the Kowalski package. Your efforts are more than appreciated and I have been in contact with St. Peter to assure you have a reservation when the time comes. :D

Quote:
Be safe!

What...and take all of the fun out of life? :lol:

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


Top
 Profile  
Reply with quote  
PostPosted: Sun Jun 06, 2021 12:20 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 9:02 pm
Posts: 1681
Location: Sacramento, CA
:D

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


Top
 Profile  
Reply with quote  
PostPosted: Tue Aug 03, 2021 9:00 pm 
Offline

Joined: Tue Feb 21, 2017 8:32 pm
Posts: 38
Hey, I believe I found a bug, but I could be wrong. It seems that after 1.2.15 square brackets can no longer be used. They seem to throw an error. I'll give you a quick example:

Code:
DVGA_LOADDEFCHARACTERS:
    PHA
    PHX
    M_PTR_STORE [CHAR_ROM+$468-8], V_SYSVAR3 ; Store starting location in V_SYSVAR3
    LDX #$8C                                 ; Set X counter to 140 (140 chars total)
.loop
    STX V_SYSVAR1                            ; Set Location of this character
    M_PTR_COPY V_SYSVAR3, V_SYSVAR2          ; Copy Start of Character from Var 3 -> 2
    JSR DVGA_STORECHAR                       ; Put Address of Character V_SYSVAR2 and Location you want it stored in V_SYSVAR1
    M_SYS_SUB_16BIT $08, V_SYSVAR3           ; Deduct 8bytes from V_SYSVAR3
    DEX                                      ; deduct 1 from the location
    CPX #$FF                                 ; Did we hit 0 and Roll to FF
    BNE .loop                                ; loop until we hit go through 0 to FF
    PLX
    PLA
    RTS


The line in question would be M_PTR_STORE [CHAR_ROM+$468-8], V_SYSVAR3 ; Store starting location in V_SYSVAR3

This assembled with no error in 1.2.15 but in the newest version I get the following error:

ERROR E038: Not enough parameters in macro call. ROW 32, FILE C:\DANI-I-SYSTEM-ROM-master\SYS\DANI-I-VGA.asm

It pretty much throws an error wherever I use square brackets. Not sure if it's intentional or perhaps I was doing something that shouldn't of been allowed in versions below 1.3.


Top
 Profile  
Reply with quote  
PostPosted: Tue Aug 03, 2021 9:10 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8143
Location: Midwestern USA
ChaseHQ85 wrote:
Hey, I believe I found a bug, but I could be wrong. It seems that after 1.2.15 square brackets can no longer be used...

You didn't say which revision of the assembler you are using. The current version uses curly brackets to establish evaluation precedence. Example:

Code:
M_PTR_STORE {CHAR_ROM+$468-8}, V_SYSVAR3

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


Last edited by BigDumbDinosaur on Tue Aug 03, 2021 9:16 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Tue Aug 03, 2021 9:13 pm 
Offline

Joined: Tue Feb 21, 2017 8:32 pm
Posts: 38
BigDumbDinosaur wrote:
ChaseHQ85 wrote:
Hey, I believe I found a bug, but I could be wrong. It seems that after 1.2.15 square brackets can no longer be used...

Try using curly brackets and see if your code will assemble. Example:

Code:
M_PTR_STORE {CHAR_ROM+$468-8}, V_SYSVAR3


YOU ROCK! That was it! Was I doing it wrong all along or was there a change?


Top
 Profile  
Reply with quote  
PostPosted: Tue Aug 03, 2021 9:27 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8143
Location: Midwestern USA
ChaseHQ85 wrote:
Was I doing it wrong all along or was there a change?

Versions 1.3 onward had significant improvements made, especially in the area of being able accept and assemble 65C816 code. In the process, the bracket-to-brace change had to be implemented, as surrounding an expression with brackets is the indirect-long addressing syntax in 65C816 assembly language. Be sure to read all the help screens in the editor-assembler so you don't run into other problems of a similar nature.

You may find it useful to make the first line in your source code like the following:

Code:
          .opt caseinsensitive,swapbin

The above causes the assembler to recognize % as the binary radix and to not differentiate case in unquoted strings. The effect of this pseudo-op is to improve conformance with the MOS Technology/WDC recommended assembler behavior.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 07, 2021 4:11 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8143
Location: Midwestern USA
For those who are just getting into the use of the Kowalski editor/assembler, here are some useful keystrokes in the editor.

  • F1 - Displays general help, same as selecting Help —> Contents from the menu bar.

  • Ctrl-F1 - Toggles the display of context-sensitive help when the cursor is on a 6502 instruction mnemonic or a recognized pseudo-op.

  • F2 - Jumps to next bookmark.

  • Shift-F2 - Jumps to previous bookmark.

  • Ctrl-F2 - Toggles bookmark on current text line.

  • Ctrl-Shift-F2 - Clears all bookmarks.

  • Ctrl-F - Finds text.

  • Ctrl-G or F3 - Finds next instance of text.

  • Shift-F3 - Finds previous instance of text.

  • Ctrl-R - Finds and replaces text.

  • Alt-Insert - Toggles the highlighting of whitespace in text—highlighting differentiates between blanks and tabs.

In addition to the above, the usual MS-DOS/Windows editing keystrokes, Ctrl-A (select all), Ctrl-C (copy selected text), Ctrl-V (paste text), Ctrl-X (cut selected text), and Ctrl-Z (undo), are recognized. The editor maintains an undo stack, so each Ctrl-Z keystroke will successively undo a previous edit.

Also useful are Ctrl-<cursor up> and Ctrl-<cursor down>, which scroll the screen without changing the cursor's location in the text, and Ctrl-<cursor right> and Ctrl-<cursor left>, which move the cursor to the next or previous word.

Lastly, to assemble your code strike F7.

_________________
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  [ 331 posts ]  Go to page Previous  1 ... 12, 13, 14, 15, 16, 17, 18 ... 23  Next

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: