![]() |
![]() |
#21 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,315
|
Seems like there's an issue where it can "soft hang" (WB is still usable). After assembling (doesn't seem to happen before) and getting an error, I hold shift+arrow up to get to the top and it gets stuck.
Dunno if it depends on the filesize or w/e. But with the attached file (using a WinUAE JIT config in case that matters), after assembling and getting an error for a missing incbin, holding down shift+arrow up it locks up. (And not bug, but noticed that most other assemblers e.g. AsmOne v.148 accepts cmp.l (a0)+,(a1)+ and translates it into cmpm, but that's more like a feature request since earlier versions didn't handle that either) |
![]() |
![]() |
#22 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
I was able to reproduce it with 1.18, so it's an old bug. I'll look into it.
|
![]() |
![]() |
#23 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,315
|
Thanks! Now that I think about it, maybe running into this issue was what kept me on 1.17 so maybe it isn't that old of a bug (comparatively speaking). Could be that there was issues as well in earlier versions that I just never noticed (e.g. if it's corrupting random memory), but trying to fix include directories without saving is a quite common start for me.
|
![]() |
![]() |
#24 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
Update 1.19c is on aminet, thank you guys for bugreports.
|
![]() |
![]() |
#25 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,315
|
Issues I reported are fixed, thanks! Just to be difficult I tried again with the above rotozoom4.s code (I used vasm to develop it fwiw), and after fixing the incbin error (you can just comment it out, it'll just look wrong) it gives an "undefined symbol" error for the waitblit macro. It seems to be related to the use of ".\@" (changing it to ".x" works) but I can't reproduce it easily in a smaller example for some reason.
|
![]() |
![]() |
#26 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
Yeah, that's a problem with macros within conditionals that use \@. Kind of "by design".
Unique number generator used for \@ is a simple ctr++, and since the system includes are protected from multi-including (the usual #ifdef stuff), they are only evaluated in pass1. In pass2+, since all the values are defined, ctr++ is not executed the same number of times (it's reset to 0 at the start of every pass to ensure everything is in sync, but everything isn't in sync :P ) all those anonymous labels are consequently different and symbols are not found. |
![]() |
![]() |
#27 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
I've thinking about that one for a while now... Came up with a hopefully happy medium solution. While it's still not globally unique (that would be possible but it's... complicated), it shouldn't cause problems with system includes (which is a pretty big dealbreaker I'd guess).
There's a new build in the zone, it can assemble your rotozoom source without errors now. |
![]() |
![]() |
#28 |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,315
|
Seems to work like a charm, and also seems to fix some other issues I didn't report (because I wasn't sure if it was my code that was causing it).
A few observations - note that they are just that, and I know it's always worked like this, so it's not bug reports - just for your consideration: - If you do "!r" to restart, the prompt for unsaved changes only comes after accepting the new workspace settings - If you have a source file (F1) that includes another file that you also have open (e.g. F2), changes to the included file don't show until you restart even if you save the other file. - incdir drive:dirdoesn't work, you have to use incdir drive:dir/(i.e. add '/' to the end) Incdir... There can be only one! And there's no default (unless I'm mistaken, which is quite likely). As you can see from the "rotozoom4" example both of those things are slightly annoying. I think I'd be happy 99.5% of the time if 1) the directory where the source file is located is searched 2) there was a default include path. Doesn't have to have fancy gui, defaulting to include: or whatever would be fine. Search order really doesn't matter for me. |
![]() |
![]() |
#29 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
If it's not too complicated I'd like to hear what they are.
If you are changing the "include" files, you have to ZI (zap cached includes), and then the latest version will be loaded from the disk. Default dir can be set in the prefs (amiga-[). If you are not doing any directory jumping to fetch the includes and other stuff, then it's simple. Otherwise, yeah it can be annoying if you don't have it set up specifically for asmpro&co. For example, if you want to grab the includes from elsewhere and have to use INCDIR, there goes your default dir. And you have to use another INCDIR to switch back to where you were originally. If clearly wasn't designed with includes in mind ;p. I'll see what can be done about the things you mentioned... |
![]() |
![]() |
#30 | |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,315
|
One of the (now fixed or at least no longer showing) issues was that my system restore code didn't work properly (screen was restored, but hung before prompt reappeared). Didn't want to report that without checking it wasn't my mistake. The other one was another source using more macro stuff, and I figured if the simpler one didn't work there was no point in reporting that as well.
Quote:
![]() Yeah, I realize it's not how the program was designed to be used, and it's fine if you have one directory/disk with your stuff on. These days I just don't want one huge directory with all my sources & maintain my own "common defines" file. You shouldn't change the nature of the program to fit my needs, and certainly not break existing code. Just some user feedback. |
|
![]() |
![]() |
#31 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
I've put another version in the zone. Restart, trailing "/" fixed (if someone has a problem with this, let me know; you can't do "weird" things any more but it's called INCDIR and not INCBASE so...), more optimizations.
About working on the includes and the whole ZI stuff: the alternative (I didn't know about this either) is to use INCSRC <index> to include a source buffer directly and bypass caching and disk I/O. Now to the main thing, includes (this also works with INCBIN, INCLINK, and INCIFF*) are now searched in this order: - INCDIR (if not specified: default dir set in the prefs), this basically is the old method so the existing code should load the same files, - source dir (where the current source file is), - for INCLUDE files only, INCLUDE: assign if there's one (this is checked once per assemble until found so performance will be ok), this is mainly to take care of system includes without causing extra INCDIR gymnastics. |
![]() |
![]() |
#32 |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,456
|
Is it turbo boosted for V4?
|
![]() |
![]() |
#33 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
As in OS4? As far as I know, PPC support is not finished (assembler is partially implemented, but no support for debugger, mixed binaries etc.). Code it still there but it's #ifdef-ed out. I never owned any ppc hardware, and yeah winuae emulation is there but I have zero experience with it, so I'm not touching that part.
|
![]() |
![]() |
#34 | |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,456
|
Quote:
|
|
![]() |
![]() |
#35 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
Support for Apollo specific stuff had been added in v1.18 ~10 years ago, by a member of their team at the time. I took that version as my starting point, so it's still there.
Now if there's anything new, new opcodes etc., a lot could've happened in the meanwhile, I don't know. |
![]() |
![]() |
#36 |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,456
|
With almost certainty things have changed a lot in 100 years.
|
![]() |
![]() |
#37 | |
Registered User
Join Date: Feb 2017
Location: Denmark
Posts: 1,315
|
Quote:
Putting QA cap back on (this is minor stuff): - Incdir seems to persist (even if you use "zi"), i.e. assemble file with incdir foo: / include bar.i (it correctly includes foo:bar.i), then remove incdir, update files, zap includes, assemble again and it finds "foo:bar.i" (restart works). - Ancient issue (present in many assemblers): You include a file that also includes other stuff and the transitive includes can't be found - first file is reported for "file error" (e.g. set include path to $INCLUDES$/exec and include exec.i - it says "file error" for exec.i, but issue is with first file included from that). No problem, but can be confusing. - Including non-file tries to do weird stuff (e.g. "include dh0:") - solution is obviously "don't do that" but there you are ![]() |
|
![]() |
![]() |
#38 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,895
|
a/b any date for the release of 1.20?
|
![]() |
![]() |
#39 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,097
|
A couple of months...? I was able to dedicate more time during the holiday season but now it's back to the usual pace.
There's ~10 new bugfixes for exotics so I haven't released any new updates since the include stuff. |
![]() |
![]() |
#40 |
Zone Friend
Join Date: Apr 2006
Location: Gothenburg/Sweden
Age: 48
Posts: 347
|
Very cool with new Asm-Pro updates, I've waited along time for this.
![]() "illegal operand" move.b d0,(a0,$3f00.l) won't assemble in Asm-Pro. Is it supposed to look differently? "Default dir" in preferences annoys me. ![]() Thanks again for continuing to work on this project! |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
ASMPro 1.18 on A500/A600? | Antiriad_UK | Coders. Asm / Hardware | 11 | 28 December 2022 10:49 |
AsmPro Macro | REAKTOR BEAR | Coders. Asm / Hardware | 2 | 04 October 2022 13:19 |
AsmPro and INCLUDE sources | OCrowley | Coders. General | 2 | 06 July 2014 11:42 |
AsmPro | copse | Coders. Asm / Hardware | 4 | 25 April 2012 11:41 |
AsmPro | CmdrVimes | Coders. General | 5 | 01 September 2010 12:40 |
|
|