Jump to content
mjallison42

Assembly Environment V0.8 released

Recommended Posts

The Assembly Environment (V0.8) is released, you can get the beta here: https://sites.google.com/view/x16asmenv/home

I've also got a video about this release: https://youtu.be/adohtDGGPbE

This release is now the first to be considered "beta", since I believe it to be feature complete (based on original plans). From here on out I'll be fixing bugs and making it rom enabled.

 

Comments and bugs welcome!

  • Like 11

Share this post


Link to post
Share on other sites

Hi! Great job so far. I started writing a program directly in the environment and realized I can insert, edit and delete lines of code, but I can't find a way to append a new line at the end of the code. Is there a key for that?

Share this post


Link to post
Share on other sites

That is a UI limitation right now. While in ASSY mode, select the address you want to insert at, then insert instruction. 

This is useful whenever you are attempting an edit outside of the program region. 

I need to think about append some more.

Share this post


Link to post
Share on other sites
On 11/15/2020 at 12:54 AM, mjallison42 said:

That is a UI limitation right now. While in ASSY mode, select the address you want to insert at, then insert instruction. 

This is useful whenever you are attempting an edit outside of the program region. 

I need to think about append some more.

I had a C64 editor that handled insert by opening up 256 bytes of space and when you were done, you had another command to close it up again. It filled the space with nulls  That approach was faster while typing than autoinsert because it was always in overwrite mode.

It seems like a block insert space operation could be designed that also automatically acts as a program region extender, since a block insert would have to grow the program region in any event, to make room for the block insert ... so as long as it works for a "trailing region" of code of zero bytes, it would do double duty for adding space to the end of the program region.

Share this post


Link to post
Share on other sites
11 hours ago, BruceMcF said:

I had a C64 editor that handled insert by opening up 256 bytes of space and when you were done, you had another command to close it up again. It filled the space with nulls  That approach was faster while typing than autoinsert because it was always in overwrite mode.

It seems like a block insert space operation could be designed that also automatically acts as a program region extender, since a block insert would have to grow the program region in any event, to make room for the block insert ... so as long as it works for a "trailing region" of code of zero bytes, it would do double duty for adding space to the end of the program region.

This makes a lot of sense for assembly code, especially since the 6502 is so page-sensitive. Although filling the space with NOPs would make more sense than nulls. 

For a standard text editor, the better choice is to copy the text from the main document to a line buffer. In the line buffer, your edit is never more than one line of text allows (let's just say 255 characters). The 8Mhz 6502 is plenty fast for inserting text in a 255 character block. 

Then, when you press return, press an arrow key,  or exit edit mode, the current line is copied back to the main text, with adjustments made for the length of the line, compared to the original. 

  • Like 1

Share this post


Link to post
Share on other sites
On 10/5/2020 at 2:43 PM, mjallison42 said:

The Assembly Environment (V0.8) is released, you can get the beta here: https://sites.google.com/view/x16asmenv/home

I've also got a video about this release: https://youtu.be/adohtDGGPbE

This release is now the first to be considered "beta", since I believe it to be feature complete (based on original plans). From here on out I'll be fixing bugs and making it rom enabled.

 

Comments and bugs welcome!

Hi, Mike.

I've already run into problems trying to run the emulator... if you look at the attached file below (for some reason, I can't paste images into the forum now), the filenames are using graphic symbols. When I try to load them with the LOAD command, I get a file not found. 

The interesting thing is that it actually loads if I type in the load command manually, typing the keys that match the graphic characters. (ie: LOAD "X16SA")

I fixed my local copy, but it would help if future versions of the IMG have the filenames in upper-case only format. 
 

x16emu case.PNG

Edited by TomXP411

Share this post


Link to post
Share on other sites

Also, in assembly mode, if I cursor down to the end of a screenful of text, the text doesn't scroll when I hit the bottom. Instead, the highlight disappears off the bottom of the screen. 

I would expect the screen to scroll, perhaps when I'm 5 or so rows above the bottom, so I can "look ahead" of where the edit cursor is currently positioned. 

It might also be nice to have a data mode as a part of the labeling system. When I move to zero page to look at the psuedo-registers, the system tries to disassemble the data there. It gets really confusing as I scroll through those values. Maybe when creating a label, you can offer a way to designate the label as a code, data space, with a couple of type settings (PETSCII and HEX at the very least).  

I see you do have a .CSTR directive, which seems to work well enough when inside the program area... but not all (or even most) labels will be inside the user-created program. Many will be elsewhere in the system: KERNAL calls, I/O addresses, and zero-page address. Being able to inspect them as the proper data type would really help.

Share this post


Link to post
Share on other sites

Use the "view mode" to examine defined labels. This shows all defined labels , even outside of the program region. It is missing the ability to define a label outside of the program region. 

As for examining the 16 bit registers, the debug display shows those. You can not use assembly mode to look at those locations, you should use "view mode, memory" if you want to see the raw dump. 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use