24 June 2023, 15:05 | #1 |
Registered User
Join Date: Nov 2020
Location: UK
Posts: 64
|
Getting back into programming the Amiga > Where to start ?
Hi guys.
I was wanting to start to get back into a little bit of programming on the Amiga. I did a very small amount BITD when I was a teenager and then some at college, nothing too complex. Back then, I used a bit of AMOS and Blitz Basic, (and some Pascal at college). TBH I've forgotten almost everything, so I'm probably starting from scratch. I'd like some pointers/advice on where to start, please. I currently use Linux (Ubuntu 22.04 LTS) as my main/host OS for my desktop PC. And use the FS-UAE Amiga emulator to provide me with a running Amiga environment. I'd eventually like to program some small games Questions: 1. What languages would you recommend ? 2. Would you recommend coding within the emulated Amiga or on my Linux box ? 3. If within the Amiga, what programming langue tool or IDE ? 4. If on the Linux box, again, what programming language or IDE ? 5. Can you point me in the direction for any Amiga specific programming guides/ tutorials/help ? I have had a search around the net, and there's not a lot forthcoming for beginners guides. Unless I'm missing the obvious. TIA for any help/advice. |
24 June 2023, 17:25 | #2 |
Registered User
Join Date: Mar 2018
Location: Austria
Posts: 617
|
I learned Blitz a few years ago and think it's quite a good route for dev on the Amiga. Within Blitz you can use Blitzbasic 2 which has an older IDE, but runs quite stable, or you can take a look at Amiblitz 3.
Amiblitz 3 regretably needed a fpu on the target system a few years ago, but Sven thankfully fixed that with the newer Amiblitz 3 versions, so that's fine now. I'm a bit out of the loop because of time reasons, but check back with Daedalus or the other Blitz guys about the current best Ide version. I think Amiblitz 3.8 is the one to choose at the moment. (Be careful with newer versions as I'm not sure how stable they are). With Amiblitz 3 you get a more modern and nice Ide. Note that you need a beefy Amiga to run it, but within Emulation that's no problem, just increase cpu speed and give your system plenty of Ram (16 MB or more). Amos is quite nice too. The syntax is even cleaner than Blitz in my first impression, but it's also a bit slower than Blitz. Personally I didn't spend a lot of time with it. Back in the days some people used GFABasic to code games, but I think I'd prefer Blitz to that. IIRC it has a quite restricted editor that filters what you can type, quite incredible to todays standards. Also the new Amiga QuickBasic looked promising, but I haven't heard news of it since last year. You could also go the Assembler route which offers good IDEs on the Amiga (Asmone or Devpak for example), and a very nice cross compiling solution using Visual Studio Code plus an excellent Extension which uses Vasm to cross compile. Also using a text editor of choice (like notepad++) and compiling using vasm is possible. But of course assembler has a long learning curve, because you've got to learn 68k asm and additionally all the Amiga specific stuff like custom registers and libraries. Some people successfully use C to develop games and demos on the Amiga (checkout Bartmans VSCode Extension) if that's your cup of tea, but I don't have experience there. I personally think that Blitz is a nice tradeoff between complexity and speed. But in the end you should probably try out some of the possibilities and see what you like the most. (Also I don't know/forgot some languages for sure.) Edit: This is just my limited view... my 2 cents. I'm curious what others think... Last edited by Nightshft; 25 June 2023 at 15:15. |
25 June 2023, 21:05 | #3 |
Registered User
Join Date: Nov 2020
Location: UK
Posts: 64
|
@Nightshift
Thank you very much for the detailed reply. It's much appreciated ! |
15 October 2023, 11:00 | #4 |
Registered User
Join Date: May 2014
Location: Belgium
Posts: 40
|
Similar question to the OP: I've written quite a bit of python/ruby and would like to give C a go. Is there anything on the Amiga that abstracts the audio/video like SDL2 does for linux/windows/mac? Hitting the hardware directly still looks a bit daunting to me.
|
15 October 2023, 11:16 | #5 |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,109
|
If you have Pascal experience then Amiga E is a good starting point also. Less friendly than AMOS or Blitz but you won't run into any issues working with the OS with it.
|
15 October 2023, 11:17 | #6 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,542
|
There are a broadly two schools of thought on this issue. Those that prefer to do it all on the real hardware with available software for the full retro experience and those that think a virtual environment is better.
Depending on your goal, my suggestion is that the latter is a better workflow. You can use modern tooling, IDEs, cross compilers etc. and test under emulation in a wide range of configurations that you might not have. Save the real hardware for testing once you have something stable. This is just my opinion and your mileage may vary. |
15 October 2023, 14:00 | #7 |
Registered User
Join Date: May 2014
Location: Belgium
Posts: 40
|
For me the modern setup like vscode + FS-uae make a lot of sense for faster testing and ease of working from anywhere without lugging a CRT around
My main interest lies in turn based strategy games but with a twist, so the typical game makers don't seem like a good match as it looks like they focus on scrolling action games. https://github.com/AmigaPorts/ACE looks super promising so I think I'll give that one a go. (Un)fortunately I don't have any Pascal experience. Also, Amiga E is no longer developed and doesn't offer much in the way of abstractions as far as I can tell? |
15 October 2023, 15:13 | #8 | |
Registered User
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 2,109
|
Quote:
https://aminet.net/package/dev/e/evo |
|
15 October 2023, 15:20 | #9 | |
Registered User
Join Date: May 2014
Location: Belgium
Posts: 40
|
Quote:
|
|
15 October 2023, 15:45 | #10 |
A3000-Fan
Join Date: Sep 2008
Location: Germany
Posts: 321
|
It’s not an official development, so the article seems to be correct.
But evo is very good and the developer is on eab, too. And he’s a nice guy, so I’m sure he will help if there are any problems. |
15 October 2023, 16:04 | #11 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
|
The source code licensing terms requre derivative works to be indicated as such. E-vo is based on the original compiler source code but has gone through several generations of forks and added features. It is fully backward compatible.
|
24 October 2023, 19:07 | #12 |
Registered User
Join Date: Apr 2021
Location: Sydney
Posts: 7
|
Is there an environment where I can code in C/68k on the PC and then hit 'run' and have it squirt the binary into a running winuae instance and have it execute immediately?
Thanks! |
24 October 2023, 19:27 | #13 |
cheeky scoundrel
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 43
Posts: 6,991
|
I don't have experience but scanning the list of threads in this very subforum, Visual Studio Code popped out at me:
https://marketplace.visualstudio.com...amiga-assembly |
24 October 2023, 22:13 | #14 | |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,643
|
Quote:
|
|
25 October 2023, 10:03 | #15 |
Registered User
Join Date: Apr 2021
Location: Sydney
Posts: 7
|
Thanks very much for the pointers
|
02 November 2023, 21:58 | #16 |
Registered User
Join Date: Apr 2021
Location: Sydney
Posts: 7
|
I finally had time to try out Bartman's VSCode plugin. It's truly excellent.
I followed the sample instructions on the github, and for anyone else trying to get this to work all I had to do was first fix the settings.json file to have the correct include path. For me that is Code:
"c:\\Users\\{myWindowsUsername}\\.vscode\\extensions\\bartmanabyss.amiga-debug-1.7.4\\bin\\win32\\opt\\m68k-amiga-elf\\sys-include" As far as I can tell, the demo is launched by writing a startup-sequence pointing at the exe and is executed using AROS shell at bootup, but I'm not sure where that is located. The sample code goes quite a long way out of its way to preserve the existing copper list, DMA, etc. I was wondering if instead there is any way to ORG the code to somewhere in the WinUAE memory and have it execute without having to reboot the Amiga? That would definitely speed up the debug turnaround for code that doesn't care to find the Amiga in a particular state or to put it back at exit time. Thanks again! |
22 November 2023, 01:54 | #17 | |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,690
|
Quote:
1. Heads-up, Object Pascal is available now (and AMOS and Blitz Basic, feel at home ) 2. Usually your favorite text editor makes the choice for you. I recommend coding on Amiga. It is more than capable, now even more than back in the day. 3. See 1, be at home 4. This is more difficult because Linux is geared towards command line compilers and a unique concept with no CompSci backing apparently called 'makefiles', and Assembly and your favorite languages aren't. I actually love that you ask for IDEs. Assembly and Pascal provide IDEs with integrated editing and debugging. Some Linux "make the thing" amabobs actually support the whole caboodle, but insist on limiting it to VERY specific targets. (What can we say, Linux is doing the same thing as always while growing their beards, stuck down like a hunchback), leaving any adaptations to other CPUs up to Amiga contributors @ Linux. (Comparing to random corporate software plugin authors on Windows here, pick your poison. Support Linux over Windows if you are sane.) 5. AMOS Hisoft BASIC, and BlitzBasic is the same as you know it, searches will yield valid results! Object Pascal is new and for this I recommend the FreePascal and Lazarus forums. For Amiga specific needs (any language) I recommend the normal ROM Kernel library resources like Elowar. Also, please change nick to Robo-Tech-Ninja. It would be so awesome. Forget about the noob notion and just code!! Last edited by Photon; 22 November 2023 at 02:00. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Start with C programming on Amiga article | 8bitsten | Coders. General | 12 | 26 August 2022 09:27 |
Asmskool is back! (Amiga Hardware Programming series) | Photon | Coders. Asm / Hardware | 38 | 21 September 2021 23:38 |
New start > Worms TDC > D-Paint > | Noob-tech-ninja | support.FS-UAE | 1 | 23 November 2020 20:58 |
Can you be 'too old' to start to learn programming? | markpjd | Retrogaming General Discussion | 57 | 18 April 2015 16:10 |
How to start Amiga Programming? (ASM/C) | DBAlex | Coders. General | 11 | 08 April 2010 14:25 |
|
|