English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Language

 
 
Thread Tools
Old 05 August 2020, 11:31   #21
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,174
A small word of caution about the Bullfrog tutorial. It is a useful starting point, but IIRC it is not particularly good at explaining the Amiga graphics hardware. The examples I saw did not use the Blitter or Sprites and drawing using the CPU is very slow in comparison.

It also may not explain well how to code in a world with many different Amiga models (code that works fine on an A500 might easily fail on an A1200 unless you take some care), but I can't remember if they touched on that.
roondar is offline  
Old 05 August 2020, 12:31   #22
Brick Nash
Registered User

Brick Nash's Avatar
 
Join Date: Mar 2015
Location: UK
Posts: 290
Quote:
Originally Posted by roondar View Post
A small word of caution about the Bullfrog tutorial. It is a useful starting point, but IIRC it is not particularly good at explaining the Amiga graphics hardware. The examples I saw did not use the Blitter or Sprites and drawing using the CPU is very slow in comparison.

It also may not explain well how to code in a world with many different Amiga models (code that works fine on an A500 might easily fail on an A1200 unless you take some care), but I can't remember if they touched on that.
That's completely fine. All I'm looking for is a starting point to try and wrap my head around basic concepts, and more importantly - how they work together in context. It seems to do it fine. I think it'll help to get a good foundation, and then maybe I can move on to the other tutorials which seem to skip that part.

I'm not really interested in the A1200 anyway as the A600 was always my machine of choice.
Brick Nash is offline  
Old 05 August 2020, 13:24   #23
Brick Nash
Registered User

Brick Nash's Avatar
 
Join Date: Mar 2015
Location: UK
Posts: 290
Actually, how hard would it be to tweak these tutorials to include the stuff you mentioned?

It's the first time I've looked at something like this and felt like I understood it, so to keep it within that context, but fill in any gaps would be really cool.
Brick Nash is offline  
Old 05 August 2020, 14:14   #24
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,174
Good question. There are several tutorials on using the Amiga hardware, I'd say the one that helped me the most was Photon of Scoopex's YouTube tutorials ( [ Show youtube player ]). They're quite long, but he goes over pretty much all of the graphics stuff in quite some detail.

As for programming to work on most/all Amiga's, there's a bunch of things to keep in mind. Some of the more important things (IMHO) are:
  • Don't write self modifying code - many 68K CPU's have a cache and that can cause issues
  • Don't assume anything about where in memory your code will end up (could be chipmemory, could be fastmemory)
  • When using the Blitter always use a proper way making sure the Blitter is done before you start setting Blitter registers. Most of the time this means using Blitter Waits.
  • Don't assume the CPU takes a specific amount of time to finish well anything. If something needs timing, use either the CIA timers or the raster position to time.
  • Don't assume any particular OS routine is at a particular location in memory
  • On very fast machines, interrupt acknowledgement may be too slow to avoid the interrupt to fire again. This can be avoided in several ways, the easiest way is to acknowledge the interrupt twice.
roondar is offline  
Old 05 August 2020, 16:04   #25
Brick Nash
Registered User

Brick Nash's Avatar
 
Join Date: Mar 2015
Location: UK
Posts: 290
Quote:
Originally Posted by roondar View Post
Good question. There are several tutorials on using the Amiga hardware, I'd say the one that helped me the most was Photon of Scoopex's YouTube tutorials ( [ Show youtube player ]). They're quite long, but he goes over pretty much all of the graphics stuff in quite some detail.

As for programming to work on most/all Amiga's, there's a bunch of things to keep in mind. Some of the more important things (IMHO) are:
  • Don't write self modifying code - many 68K CPU's have a cache and that can cause issues
  • Don't assume anything about where in memory your code will end up (could be chipmemory, could be fastmemory)
  • When using the Blitter always use a proper way making sure the Blitter is done before you start setting Blitter registers. Most of the time this means using Blitter Waits.
  • Don't assume the CPU takes a specific amount of time to finish well anything. If something needs timing, use either the CIA timers or the raster position to time.
  • Don't assume any particular OS routine is at a particular location in memory
  • On very fast machines, interrupt acknowledgement may be too slow to avoid the interrupt to fire again. This can be avoided in several ways, the easiest way is to acknowledge the interrupt twice.

All that is a little advanced for me, but I'll definitely refer back to it as needed.

That's a good call about Photon! I'm sure I started his course a few years back, but I got lost as I had virtually no experience in any sort of programming. I've got some GML, Amos, and even Z80 Assembly under my belt now, so that will definitely be worth a shot.
Brick Nash 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
[Wip] Amos Professional X : Bring AGA to Amos Pro! freddix Coders. AMOS 40 15 September 2020 18:24
BLITZ 2.1 or AMOS Pro best for full AGA sprite support? ImmortalA1000 Coders. General 10 12 May 2019 10:01
Missing AMOS and Blitz Basic Quickmatch tags Master484 HOL data problems 6 26 March 2019 13:57
AMOS or Blitz Basic 2 Dreedo Coders. General 42 23 September 2014 21:48
Mouse on ship rck2own Looking for a game name ? 2 03 February 2012 10:59

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 04:29.


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