English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 24 June 2023, 15:05   #1
Noob-tech-ninja
Registered User
 
Noob-tech-ninja's Avatar
 
Join Date: Nov 2020
Location: UK
Posts: 64
Question 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.
Noob-tech-ninja is offline  
Old 24 June 2023, 17:25   #2
Nightshft
Registered User
 
Nightshft's Avatar
 
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.
Nightshft is offline  
Old 25 June 2023, 21:05   #3
Noob-tech-ninja
Registered User
 
Noob-tech-ninja's Avatar
 
Join Date: Nov 2020
Location: UK
Posts: 64
@Nightshift

Thank you very much for the detailed reply.
It's much appreciated !
Noob-tech-ninja is offline  
Old 15 October 2023, 11:00   #4
warci
Registered User
 
Join Date: May 2014
Location: Belgium
Posts: 38
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.
warci is offline  
Old 15 October 2023, 11:16   #5
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 1,996
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.
Dunny is offline  
Old 15 October 2023, 11:17   #6
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,165
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.
Karlos is offline  
Old 15 October 2023, 14:00   #7
warci
Registered User
 
Join Date: May 2014
Location: Belgium
Posts: 38
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.

Quote:
Originally Posted by Dunny View Post
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.
(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?
warci is offline  
Old 15 October 2023, 15:13   #8
Dunny
Registered User
 
Dunny's Avatar
 
Join Date: Aug 2006
Location: Scunthorpe/United Kingdom
Posts: 1,996
Quote:
Originally Posted by warci View Post
(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?
I was kinda replying to the OP but hey ho. E is actively developed yes.

https://aminet.net/package/dev/e/evo
Dunny is offline  
Old 15 October 2023, 15:20   #9
warci
Registered User
 
Join Date: May 2014
Location: Belgium
Posts: 38
Quote:
Originally Posted by Dunny View Post
I was kinda replying to the OP but hey ho. E is actively developed yes.

https://aminet.net/package/dev/e/evo
my bad! I checkeed the wiki page and it stated the last release was 25 years ago. Seems like the article is of questionable quality.
warci is offline  
Old 15 October 2023, 15:45   #10
Etze
A3000-Fan
 
Etze's Avatar
 
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.
Etze is offline  
Old 15 October 2023, 16:04   #11
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,187
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.
Samurai_Crow is offline  
Old 24 October 2023, 19:07   #12
jimshaw
Registered User
 
jimshaw's Avatar
 
Join Date: Apr 2021
Location: Sydney
Posts: 5
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!
jimshaw is offline  
Old 24 October 2023, 19:27   #13
gimbal
cheeky scoundrel
 
gimbal's Avatar
 
Join Date: Nov 2004
Location: Spijkenisse/Netherlands
Age: 42
Posts: 6,918
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
gimbal is offline  
Old 24 October 2023, 22:13   #14
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Quote:
Originally Posted by jimshaw View Post
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!
Bartman's vscode C environment is here: https://github.com/BartmanAbyss/vscode-amiga-debug
hooverphonique is offline  
Old 25 October 2023, 10:03   #15
jimshaw
Registered User
 
jimshaw's Avatar
 
Join Date: Apr 2021
Location: Sydney
Posts: 5
Thanks very much for the pointers
jimshaw is offline  
Old 02 November 2023, 21:58   #16
jimshaw
Registered User
 
jimshaw's Avatar
 
Join Date: Apr 2021
Location: Sydney
Posts: 5
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"
and I had to manually create the 'obj' and 'out' folders in the solution so the compiler can write the output files in there. Otherwise, plain sailing.

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!
jimshaw is offline  
Old 22 November 2023, 01:54   #17
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Quote:
Originally Posted by Noob-tech-ninja View Post
I'd eventually like to program some small games

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 ?
Awesome!
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.
Photon 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
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

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 06:10.

Top

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