13 June 2019, 01:40 | #1 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Amiga Assembler Helper tool for macOS
Hey!
In my everlasting quest to make a decent toolchain for developing, and learning, Assembler for the Amiga I've built the following tool for macOS. Basically, you supply it with a nice filled out XML file of the hardware registers, which is parsed and used by the UI to help extract values and base 16 values which you can use in your code. Keep in mind this is for simple cases where the user is brand new to the concept of 68k and the Amiga hardware, and will hopefully be a nice interactive knowledge base, based on reading various tutorials, forum posts etc. to glean as much help as possible. A few screenshots: and a preview MOV file: Preview Screen Capture Sorry if macOS isn't your choice of OS, but unfortunately as an iOS developer that's what I work with. So, does anyone want to help test it? Does anyone have any suggestions of how I can progress the idea? Should I continue, or leave it? All comments welcome, positive or negative. Oh, and I'm sorry if this is in the wrong place... please let me know where I can, or should move it too if it doesn't belong here. Thanks, Daniel |
13 June 2019, 07:50 | #2 |
Zone Friend
Join Date: May 2006
Location: France
Posts: 1,801
|
For those who stopped banging the HW long ago a bit of info on the registers might be good.
|
14 June 2019, 09:35 | #3 |
Inviyya Dude!
Join Date: Sep 2016
Location: Amiga Island
Posts: 2,770
|
Nice effort!
Will be downloading this when I come home from work.. |
17 March 2020, 23:06 | #4 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Initial Release
Hey!
In between messing on with 68k and actual work, I've managed to put together a first release of my helper application for macOS. It's pretty rudimentary at the minute but I add to it when I figure something out from the help I receive on here. Of course I'll keep adding to it as time goes by. Hopefully someone else will find it useful. Download for macOS here: Black Arrow v0.1 Requires macOS Mojave or later. |
18 March 2020, 01:25 | #5 |
Zone Friend
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
|
Wow, looks great, I wonder how this would have gone back in the day if it was released on the Amiga?
|
18 March 2020, 04:29 | #6 |
Registered User
Join Date: Jan 2016
Location: Melbourne, Australia
Posts: 10
|
I agree, this looks great! Looking forward to having a play around with it…
|
18 March 2020, 07:19 | #7 |
Registered User
Join Date: Sep 2019
Location: Essen/Germany
Age: 55
Posts: 463
|
Looks pretty cool! Is it a native app? Would be cool if it were java or something, so it can be run on other than MacOS as well.
|
18 March 2020, 10:40 | #8 |
Registered User
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 41
Posts: 3,772
|
This is AWESOME!
|
18 March 2020, 23:07 | #9 |
Zone Friend
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
|
|
22 March 2020, 02:40 | #10 |
Registered User
Join Date: Oct 2015
Location: Landsberg / Germany
Posts: 526
|
Won´t run on OS 10.13, and I can´t use 10.14 on my mid-2011 iMac unfortunately. Any chance you re-compile for use on earlier than Mojave-systems?
|
22 March 2020, 21:28 | #11 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Thanks for the feedback lads. I'll try and answer your questions below :-)
1. Yes, this is a native app built with Objective-C. It does contain some ANSI C in there too though so I'd say apart from the GUI it's pretty portable. 2. An iPad version could be a possibility. If I'd known that the ability to run iPad apps on macOS would become reality in Catalina then I'd have started it as an iPad app and had pretty much both for the price of one. As I've done it the other way, it would be a bit more tricky. 3. I'll take a look at the minimum macOS version. It'll just have been left at what the default was when I started the project, so Mojave. I don't think I do anything special to warrant the later OS versions so should be possible. Thanks again, and I hope some people would find it useful. Also, any suggestions as to what you'd like to see supported or added, please let me know. I am going to have quite a bit of spare time coming up, as we all are! |
31 March 2020, 19:08 | #12 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Good Afternoon!
Well, I'm self-isolating for the next week so plenty of time to play with my ASM coding which usually results in functionality being added to this little tool. This time, I found that repeating sprite data was a particular pain in the arse: Code:
; WAIT MOVE WAIT MOVE dc.w $2c81,$fffe, SPR4POS,$2cc5, $2cdf,$fffe, SPR4POS,$2c45 dc.w $2d81,$fffe, SPR4POS,$2dc5, $2ddf,$fffe, SPR4POS,$2d45 dc.w $2e81,$fffe, SPR4POS,$2ec5, $2edf,$fffe, SPR4POS,$2e45 dc.w $2f81,$fffe, SPR4POS,$2fc5, $2fdf,$fffe, SPR4POS,$2f45 dc.w $3081,$fffe, SPR4POS,$30c5, $30df,$fffe, SPR4POS,$3045 dc.w $3181,$fffe, SPR4POS,$31c5, $31df,$fffe, SPR4POS,$3145 dc.w $3281,$fffe, SPR4POS,$32c5, $32df,$fffe, SPR4POS,$3245 dc.w $3381,$fffe, SPR4POS,$33c5, $33df,$fffe, SPR4POS,$3345 dc.w $3481,$fffe, SPR4POS,$34c5, $34df,$fffe, SPR4POS,$3445 dc.w $3581,$fffe, SPR4POS,$35c5, $35df,$fffe, SPR4POS,$3545 dc.w $3681,$fffe, SPR4POS,$36c5, $36df,$fffe, SPR4POS,$3645 dc.w $3781,$fffe, SPR4POS,$37c5, $37df,$fffe, SPR4POS,$3745 ... What you can see here is an easy way to repeat a sprite by waiting and resetting the position. 1. The sprite is 48 pixels high, so I want 48 iterations 2. The initial WAIT is set the roughly the middle of the screen horizontally, and at the very top vertically. Mask is standard 3. After the initial WAIT, I can add as many MOVE or WAIT commands as necessary. Adding either will put that command into the list on the right. 4. In this example, the first MOVE will automatically increment the vertical value to match each scanline value, but keep the horizontal value as c5 for each scanline 5. I then insert a WAIT which is waiting until the end of each scanline 6. The last MOVE will then reset the sprite position for each scanline Output code, copy and paste. Done. Download for macOS here: Black Arrow v0.2 This version has been recompiled for macOS 10.13 (High Sierra). |
31 March 2020, 20:40 | #13 |
Registered User
Join Date: Oct 2015
Location: Landsberg / Germany
Posts: 526
|
Did something like this within RESHOOT R-code to generate a copperlist which re-uses one 64 pixel wide sprite to create the illusion of an additional visual layer. Should be compatible with ASM One. Seem I need to re-use this as long as your wonderful tool does not work on my my mac-setup :-)
Code:
... parSpriteY SET displayWindowStart+1 ... REPT noOfScanlines-4 parSpriteX SET $3a IF parSpriteY<230 REPT 5 dc.w (parSpriteY<<8)&$ff00+parSpriteX-$4!1 dc.w $ff<<8+%11111110 cmove SPR6POS,(parSpriteY<<8)&$ff00+parSpriteX+3 parSpriteX SET parSpriteX+$20 ENDR ... parSpriteY SET parSpriteY+$1 ... ENDR Last edited by buzzybee; 31 March 2020 at 20:51. |
31 March 2020, 22:03 | #14 | |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Quote:
I did recompile it to support 10.13 by the way, this version should support High Sierra. |
|
31 March 2020, 23:49 | #15 |
Registered User
Join Date: Oct 2015
Location: Landsberg / Germany
Posts: 526
|
|
14 May 2020, 00:20 | #16 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Hey!
Just another update to my little helper tool (v0.3), which mainly adds the ability to output copper commands to create a rainbow from the current palette; another little problem I had whilst coding that I wanted to make easier Download link: https://www.the-snakepit.co.uk/files/BlackArrow_0.3.zip Have fun and give me a shout if there's anything anyone would like me to add, or fix, or implement |
14 May 2020, 05:00 | #17 |
Registered User
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 41
Posts: 3,772
|
This utility is getting even more amazing with every release. If you don't mind me saying though, I think the name could possibly be improved.
|
14 May 2020, 10:36 | #18 | |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Quote:
It’ll definitely change before v1.0 so any suggestions are more than welcome. Thanks for your kind comments too! |
|
03 February 2021, 01:33 | #19 |
Registered User
Join Date: Feb 2018
Location: Northumberland, UK
Posts: 272
|
Hey!
A small update to my little helper tool (v0.4), which adds the ability to output offset data tables based on width, height, depth and alignment. Download link: https://www.the-snakepit.co.uk/files/BlackArrow_0.4.zip As always, any suggestions welcome. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
SNES Assembler for Amiga? | BSF-OF-BGP | Amiga scene | 4 | 11 February 2018 02:51 |
First amiga assembler | Estrayk | Coders. Asm / Hardware | 4 | 02 October 2015 11:49 |
MacOS and AMIGA Emulation: The BEST Emulator... is? | sev7en | New to Emulation or Amiga scene | 19 | 26 February 2015 14:11 |
Assembler for Amiga OS 3.9 | NubeCheCorre | support.Other | 2 | 22 February 2012 01:39 |
Total Amiga Assembler | pmc | Coders. General | 7 | 24 May 2007 09:40 |
|
|