Welcome to the Apollo ForumThis forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
|Documentation about the Vampire hardware|
06 Feb 2021 13:17
Just getting back onto my lovely Vampire, having been just a bit on the busy side these last few weeks.
I enjoyed trying to run a few games from the old days, but when it boils down to it, that's not really unlocking the potential of this device at all. The most exciting thing I have seen so far is getting Frontier to run so smoothly. I might even try to learn to play it, now that it runs so well, but what it really makes me want to investigate is the possibility of writing my own, very simple, 3D game, like a Battlezone type game or something.
I am an absolute novice when it comes to programming. I had a Commodore 64 throughout my youth and I learned BASIC as all kids did. Turns out, C64 BASIC is not actually that bad as an introduction to machine code, since nearly everything requires POKES due to the lack of commands. From there it's just a short hop to the world of LDA and STA, but I never really got much further than just simple things like putting a UDG-based logo on the screen. I did learn a little bit about pointers for the screen memory and sprites, and later on as an adult I learnt to use interrupts to multiplex sprites. But I've never got anywhere near writing a fully-fledged game.
So, firstly: what are the prospects for an absolute beginner with regard to 68k programming? What are the essentials of Amiga programming? Where can I find simple things such as memory map (I'm going to presume Aminet, but if anyone's got any other ideas, do post them!) Are there sites out there with useful routines I can learn from?
06 Feb 2021 14:32
|I suggest to start from here|
06 Feb 2021 15:16
|While you got some really good ASM coders here, Im sure they have their hands full just developing the Apollo Core :)|
So a good step by step tutorial on youtube is by Photon / Scoopex.
Im not even gonna attempt to judge if he got the best approach, but he really goes step by step on the topic.
06 Feb 2021 23:38
|I also started on a C64. Initially, I didnt even have an assembler, so was coding assembly from BASIC in data statements! lol|
However, I would suggest that you skip the looking for memory maps and hitting the hardware direct.
This is something that absolutely had to be done on 8-bit machines, as they were not fast enough to be used with anything slower than direct assembly; gamecode probably close to being 100% ASM to get as much speed as possible.
However, with the more powerful 16 and 32 bit C= and Atari machines, coding in something like C becomes a bit more viable. More so for the 32-bit processors, using C for general code, with assembly for any critical parts would probably be best (depending on what you are doing, but more or less).
But with the speed of the Vampire cards, there is no real reason to have a high amount of assembly code...especially if you are doing more than a quick little set of routines.
Im probably a small step infront of you, having only just got my V500 card working.
Im just about to start porting quite a complex PC game with several tens of thousands of lines of high level code. There is no way I would want to convert all that to 680x0 machine code! :s
Either that, or try something like AMOS 3D or BlitzBasic 2 to ease yourself in maybe?
Maybe join the Apollo discord. Im on there if you need any help want to bounce some ideas! :)
07 Feb 2021 12:07
|Many thanks, everyone, for these responses. They are all very useful. I am signed up to the Discord server so I'll drop by at some point to see what's going on.|
I think as for the suggestions to code in BASIC of some variety or C, I suppose the answer for me really is that I like the idea of the challenge of learning a little bit about 68k and the inner workings of the machine. In a way, those things are more important than any short-term outcomes.
I have often considered trying to learn a bit of C or perhaps Python, but if I wanted to do that, I'd just go ahead and learn how to code on PC. I'd just like to know something more about the unique flavour of the Amiga.
I guess I'm just not a very practical person - hence the reason I'm practising Scots Gaelic rather than trying to learn German, a language I could speak with millions of people instead of thousands ...!
And I have to say, I find those youtube videos on AsmONE fascinating. This is exactly what I want to learn. Looks like there are many hours of tutorials there, so I'll be getting stuck in! (and probably just stuck).