English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 10 May 2021, 17:35   #1
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
TRASH'M-Pro

hello amiga coders i'd like to finally share something i've been working on for the past couple of months-- TRASH'M-Pro!
this is ASM-Pro 1.18 trashed to perfection. show it off to friends and family as proof that you are not a lamer.

this is an alpha-quality release with plenty of bugs but it's been stable enough to code itself. i have no idea if it works on
anything other than my current configuration (1200/030/882) so please give it a try on your config and report back! i've attached
a pair of builds: one with clipboard integration, the other without (since there's no error handling yet).

the source code is available on github: https://github.com/bsdf/TRASHM-PRO PRs and bug reports welcome! enjoy!!!!!!!!!!!!!!!!!!

Notable Changes:
* word boundary functions rewritten
* ctrl+backspace and ctrl+delete delete by word rather than killing the line fwd/backwards
* amiga+backspace and amiga+delete mapped to kill line fwd/backwards
* added ctrl+shift+u shortcut to search for the word under the cursor
* alt/ctrl+left and alt/ctrl+right move by words
* bevels on controls removed to make everything look better in 1 bitplane mode
* integration with workbench clipboard implemented (can be disabled with a build flag)
* experimental support for using "disassembler.library" with the "@D" command (disabled by default, can be enabled with a build flag)
* dead code deleted (plugins, slider, PPC, M020)
* source code cleaned up and commented a bit
* fixed bug where app would freeze if using the goto bottom shortcut
* fixed bug where app would freeze if using the delete to EOL shortcut on the commandline

Short-term TODOs:
* add error checking to clipboard support and enable by default (fixed in next branch)
* implement jump to prev/next label
* fix old bug where scroll position is messed up if pasting a block larger than the screen (fixed in next branch)
* figure out how tf amiga+whatever shortcuts work so i can map my new functions to better keys
* update READMEs/manuals and properly credit ASM-Pro authors
* rearrange prefs windows to actually fit in NTSC mode
* fix clipboard trashing hex2ascii command (fixed in next branch)

Someday TODOs:
* cursor in menubar inputs
* UNDO/REDO - ideally multiple, but at the very least dpaint style
* backwards select
* backwards search
* start cleaning up/bugfixing macro handling
* fix "Debug" preference which doesn't appear to do what it's supposed to do
* debugger improvements (searching/reentering)
* replace disassembler with disassembler.library
* make it work on 68000

and remember: a program worth using is worth trashing!
Attached Files
File Type: lha trash-rc2.lha (202.6 KB, 126 views)
colourspace is offline  
Old 10 May 2021, 17:42   #2
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
obligatory screenshot:
Attached Thumbnails
Click image for larger version

Name:	TRASH.PNG
Views:	1306
Size:	22.3 KB
ID:	71864  
colourspace is offline  
Old 12 May 2021, 20:12   #3
Jolly
Registered User
 
Join Date: May 2021
Location: Arden, Denmark
Posts: 10
Hi colourspace,

Awesome! I gave it a test run with a few of my projects on my A1200/020/882 8MB machine and no problems experienced.

I like the system clipboard integration and where you are going with the dissassembler functionality. Will definitely follow this and hope you will be able to keep updates coming

Cheers,
Jolly
Jolly is offline  
Old 12 May 2021, 21:04   #4
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Nice, the idea of using the disassembler lib is a good one that way you can remove the original disassembly code so the source will be shorter cleaner and less buggy except for Apollo instructions. Will check.

Update: Which NDK are you using? Is it standard or did you add personal stuff?

What is the noclip version?

Last edited by kamelito; 13 May 2021 at 13:11.
kamelito is offline  
Old 13 May 2021, 19:48   #5
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
Quote:
Originally Posted by kamelito View Post
Update: Which NDK are you using? Is it standard or did you add personal stuff?
should just be the standard NDK3.1 with reqtools dev and disassembler dev includes renamed to "libraries/whatever_lib.i" if necessary
Quote:
Originally Posted by kamelito View Post
What is the noclip version?
a build with the system clipboard integration turned off since this particular release candidate doesn't have error handling and just assumes that everything is going to work.

the clipboard error handling has been added in the next branch for a while now-- i've just been using this rc2 build to make sure it's stable enough to put out there publicly. in the next build i release, the clipboard integration is on by default but can be shut off with a "-CL" in the prefs file
colourspace is offline  
Old 16 May 2021, 02:25   #6
acd2001
Zone Friend
 
acd2001's Avatar
 
Join Date: Nov 2005
Location: Italy
Posts: 139
Quote:
Originally Posted by colourspace View Post
should just be the standard NDK3.1 with reqtools dev and disassembler dev includes renamed to "libraries/whatever_lib.i" if necessary

Can you post your ndk ?? I try 3.1 and 3.9 and i get plenty of errors.
Thanks...
acd2001 is offline  
Old 16 May 2021, 11:11   #7
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
I had to include exec/funcdef.i and copy over the devices/dos_lib.i to dos/dos_lib.i to be able to assemble it without error. Don't know why I had a more complete dos_lib.i in devices. I also copy over my include the one from Aminet of AsmPro 1.18 source code.
kamelito is offline  
Old 16 May 2021, 18:09   #8
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
i've attached a freshly generated set of LVOs-- add and replace as necessary. just tested against a fresh NDK3.1 and it builds. be sure to replace the existing exec/exec_lib.i and dos/dos_lib.i, add graphics_lib to graphics/ and basically put everything else in libraries/

turns out the includes i was using was a bit of a frakenstein (basically had all the changes mentioned by kamelito) but it seems like the combo of NDK3.1 + the LVOs generated with fd2pragma is the cleanest
Attached Files
File Type: lha lvos31.lha (16.4 KB, 103 views)
colourspace is offline  
Old 16 May 2021, 19:13   #9
acd2001
Zone Friend
 
acd2001's Avatar
 
Join Date: Nov 2005
Location: Italy
Posts: 139
Quote:
Originally Posted by colourspace View Post
i've attached a freshly generated set of LVOs--

Thank you very much, finally i compile without errors (LVO nightmares)....
Attached Files
File Type: zip trashm_includes.zip (282.2 KB, 108 views)
acd2001 is offline  
Old 17 May 2021, 19:16   #10
oRBIT
Zone Friend
 
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 339
Wow! Awesome work, I wish you the best of luck with this project!
oRBIT is offline  
Old 25 May 2021, 08:18   #11
a/b
Registered User
 
Join Date: Jun 2016
Location: europe
Posts: 1,039
Code:
C54D0:
	add	#$0010,a0
	addq.w	#8,a1
...
Should be #4,a1 (a1 is a 32-bit watch address table, look for several similar instances of code for watch handling: a0 += 16 text, a1 += 4 address, a2 += 1 type).

Simple program to crash it:
Code:
test:	rts
	addwatch	test,h
and then AD (debugger) and exit debugger several times, typically it will crash on 5th try.

Related:
Code:
W05458:	dc.w	0
Set to non-zero whenever you add a watch in source code, and never cleared *ever*, so the example above will re-add the same watch again and again with wrong address. If this flag is zero (only the first time you add a watch) it will cause debugger to clear all watches and breakpts, so should probably be cleared every time you enter debugger. Not sure how the whole interaction is supposed to go, interactive and non-interactive watch handling, but something is certainly off.

This is all also present in the original asm-pro 1.18 code.
a/b is offline  
Old 25 May 2021, 21:16   #12
oRBIT
Zone Friend
 
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 339
Trying to compile my A/NES project but include-directive fails.
"** File Error
Attached Thumbnails
Click image for larger version

Name:	include.png
Views:	141
Size:	2.1 KB
ID:	72068  
oRBIT is offline  
Old 30 May 2021, 20:48   #13
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
Quote:
Originally Posted by a/b View Post
This is all also present in the original asm-pro 1.18 code.
thanks for the report! i'll add it to my list of things to look into

Quote:
Originally Posted by oRBIT View Post
Trying to compile my A/NES project but include-directive fails.
would it be possible to provide some code that recreates the issue? if privacy's an issue, feel free to PM me or reach out at EMAILBEN145 at gmail dot com
colourspace is offline  
Old 01 June 2021, 21:03   #14
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Quote:
Originally Posted by colourspace View Post
thanks for the report! i'll add it to my list of things to look into


would it be possible to provide some code that recreates the issue? if privacy's an issue, feel free to PM me or reach out at EMAILBEN145 at gmail dot com
Just this show the same error: (I've a file CPU.s in ram but it is because I did not specified the path, so it is not a bug IMO just a path issue but A/NES author should confirm.

include "CPU.s"

start
rts

include "ram:CPU.s" fixes the error which is normal behavior.
incdir ram:
include "CPU.s" is another way of telling the assembler where to find the file. etc.

Last edited by kamelito; 01 June 2021 at 21:09.
kamelito is offline  
Old 02 June 2021, 18:26   #15
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
Quote:
Originally Posted by kamelito View Post
Just this show the same error: (I've a file CPU.s in ram but it is because I did not specified the path, so it is not a bug IMO just a path issue but A/NES author should confirm.

that's what i was thinking. from my (very limited) experience with the asmone lineage, it seems like the include resolution path is the current working directory (as selected with the "V" command) OR the path specified with the INCDIR directive + the current working directory
colourspace is offline  
Old 10 June 2021, 02:33   #16
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
howdy here's a new build. some notable changes:
  • NEW: location stack (similar to ReSource); location is popped with AMIGA+BACKTICK
  • NEW: reqtools requesters will now default to the current working directory as specified with the V command. (disable this feature with the -CD option)
  • NEW: AMIGA+TAB = jump to previous label
  • NEW: AMIGA+BACKSLASH = jump to next label
  • NEW: paste works in the command prompt now
  • NEW: cut command prompt with AMIGA+d
  • CHANGE: search for label under cursor is now bound to AMIGA+PERIOD
  • CHANGE: clipboard integration is enabled by default (disable with -CL)
  • CHANGE: fixed bug where the command: ?"LT" would be interpreted as ?"T" after the first invocation
  • CHANGE: fixed bug where negative number output was misaligned with the "?" command
  • CHANGE: fixed issue with scroll position when pasting large blocks
and other stuff i've probably forgotten. enjoy
Attached Files
File Type: lha trash-rc3.lha (101.9 KB, 73 views)
colourspace is offline  
Old 10 June 2021, 02:34   #17
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
and here's a teaser for a feature in the works:

Attached Thumbnails
Click image for larger version

Name:	out.gif
Views:	672
Size:	109.1 KB
ID:	72244  
colourspace is offline  
Old 10 June 2021, 02:38   #18
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
When’s the new version coming out?
Pyromania is offline  
Old 10 June 2021, 18:13   #19
colourspace
Registered User
 
colourspace's Avatar
 
Join Date: Apr 2020
Location: CHICAGO / USA
Posts: 32
Quote:
Originally Posted by Pyromania View Post
When’s the new version coming out?
probably when i finish the feature hinted at in the screenshot-- it's been a shortcoming in all the asmones. there's even a bunch of commented out code in the original asmpro code where the author tried (and failed) to find a solution for it. i have a working proof of concept but there's a lot of editing routines that need to be rewritten
colourspace is offline  
Old 10 June 2021, 18:42   #20
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
Any enhancements coming out for the Vampire V4?
Pyromania is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
trash'm-one frantic Coders. General 6 10 June 2021 22:36
Trash 80 vs Amiga Pyromania Retrogaming General Discussion 19 07 May 2020 02:13
No Trash Can on P96 ? Xeon project.ClassicWB 16 08 September 2009 16:07
Star Trash Graham Humphrey request.Old Rare Games 7 23 November 2007 01:24
Excluding TRASH alexh project.EAB 8 08 November 2006 14:26

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:07.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.17697 seconds with 14 queries