Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Learning Assemlypage  1 2 

Andrew Miller

Posts 352
31 May 2021 13:37


Would it be beneficial as a beginner to start out by learning something like z80 assembler to get a hang of the basics before jumping into 68080 assembler?
Maybe not even z80, but something more basic like other 8-bit cups?


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
31 May 2021 13:56


Hi Andrew,

I coded ASM for very many different CPUs.
In my opinion 68K ASM is very easy to learn.

68K ASM is very clean and structured
and coding in ASM is easier on 68K than on many other architectures.
In my opinion the best approach is start with 68080 ASM right away.

If you need help and hints or have questions, then just talk to us we will gladly help.

The Apollo-Team is right now working on a number of game title  (written in ASM) we will publish also their sources soon
as examples of how games can be written.


Peeri the Sunlight

Posts 71
31 May 2021 15:12


I agree with Gunnar, In generally when I jumped from 6510 -> 68000 back in 1988 assembly language and syntax was actually very easy... Tricky part was Amigas genious but complex architecture. (At least if compare the C64.)


Andrew Miller

Posts 352
31 May 2021 16:00


Thanks guys, what I'm really looking for is a basic starting point, where for example each opcode is explained with an example or explanation of what it does and why.


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
31 May 2021 16:23


Andrew Miller wrote:

Thanks guys, what I'm really looking for is a basic starting point, where for example each opcode is explained with an example or explanation of what it does and why.

Maybe looking at the "instructions" link on top navigation could be a start.

The most important instructions you need to learn are
MOVE, ADD, SUB, CMP, BRA, BCC, BSR, RTS, LEA

With these instructions alone you can do a lot.
play music, show pictures even a full small game.

If you have questions visit our Discord channel and go into the  # programming room is also a good idea.
Just ask you questions, there will be people to help or share examples


Andrew Miller

Posts 352
31 May 2021 18:06


Thanks Gunner, I didn't think of it that way. Now it does seem a much easier prospect, learn a few basic commands and work my way up.
Thanks


Andrew Miller

Posts 352
31 May 2021 18:14


One other quick question, is there an easy way to get screen output via assembly on amiga? So I can see what's happening? I can use easy68k simulator on my pc, but if possible I'd rather use my a1200 or even at a push UAE on my pc. Thanks


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
31 May 2021 18:33


Andrew Miller wrote:

One other quick question, is there an easy way to get screen output via assembly on amiga

Do you mean see registers, like in a Debugger?
Or do you mean "open" a screen and paint something in it like in an intro?


Andrew Miller

Posts 352
31 May 2021 20:01


I was thinking more of text output, which could also contain register or memory values.
But opening a screen would also be good.
Or yes a debugger would be helpful, just something where I can tell what I did actually did what I expected.


Kamelito Loveless

Posts 260
31 May 2021 20:23


Without adding too much I’d say BTST and DBCC are handy too.


Kenji Irie

Posts 86
01 Jun 2021 03:17


Andrew Miller wrote:

Would it be beneficial as a beginner to start out by learning something like z80 assembler to get a hang of the basics before jumping into 68080 assembler?
  Maybe not even z80, but something more basic like other 8-bit cups?

I'm not sure if you are a coder or not, but I come from a C background. I've learnt 68k asm as required when C isn't fast enough, and called the asm code from my C code. That way you can easily output and format returned values etc, which I find personally find very useful. However, if you want to write in 100% asm, then the 68k seems to be quite nice. Note that not all assemblers support 68080 instructions. vasm is (was?) the most complete (and is integrated into VBCC for seamless compiling with C code).


Peeri the Sunlight

Posts 71
01 Jun 2021 15:19


Good starting point could be any Seka styled assembler (AsmOne, AsmTwo, Trash'm One, AsmPro etc...(Seka /masterSeka is quite primitive it self)) Easy to use editor , fast compiling and quite ok debugger and macro functionally all in one program. You can follow quite nicely what is going on in debugger. Also it returns all registers and flags when exiting. These are also very light weight.
 
Somebody will say that Devpack is better... Might be, but I moved from it to AsmOne.
 
  You can see many tutorials in Youtube.
  Later on if you need AMMX etc, you can setup CED + VASM combination. But then you lack of debugger...


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
01 Jun 2021 15:21


Peeri the Sunlight wrote:

Good starting point could be any Seka styled assembler (ASMone, ASMtwo, ThrasmOne etc.

I agree with you ASMone is really nice for coding.
Its easy to use.
Has a simple text editor included.
My son wrote a complete Amiga game with it on 3 weekends


Peeri the Sunlight

Posts 71
01 Jun 2021 15:33


Gunnar is there level 7 interrupt possibility in vampire V4?
AsmOne is supporting chrash recovery... and I used to have in My oldest A500 soldered one wire to paula pin (if I recall correctly) to recovery after charsh of my code.


Kamelito Loveless

Posts 260
01 Jun 2021 17:34


@Gunnar & others, There's also TRASHM-PRO which is an ongoing project it's based on AsmPro 1.18. As it is on github anyone can contribute.

EXTERNAL LINK 


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
08 Jun 2021 06:42


Peeri the Sunlight wrote:

Gunnar is there level 7 interrupt possibility in vampire V4?
  AsmOne is supporting chrash recovery... and I used to have in My oldest A500 soldered one wire to paula pin (if I recall correctly) to recovery after charsh of my code.

Not sure why LEV7 is here a good solution.
Can you help me understand this and explain your thoughts please?


Kamelito Loveless

Posts 260
08 Jun 2021 07:45


Level 7 to me can be interesting too if the Vampire can act as an action replay. Other FPGA do already have such feature using HRTMON.



Gunnar von Boehn
(Apollo Team Member)
Posts 6207
08 Jun 2021 07:50


Kamelito Loveless wrote:

  Level 7 to me can be interesting too if the Vampire can act as an action replay. Other FPGA do already have such feature using HRTMON.
 

 
I agree that Actionreplay is nice feature.

But maybe we can try to focus on one topics in one thread,  In my experience it becomes otherwise very hard to follow. ;-)

Regarding LEV7 and Actionreplay, of course this can be done but the "old" way of soldering a switch is really a little ugly.
I can envision much cleaner solutions with a Hotkey on keyboard.


Kamelito Loveless

Posts 260
08 Jun 2021 09:37


Yep sorry about that, sure a hot key is the way to go.
  As for an NMI for Asmone it is to me useful for system friendly apps, to break the program you launched directly in the debugger.


Andrew Miller

Posts 352
09 Jun 2021 13:09


Thanks guys, I think I'll try asmone, or one of its variants.

posts 25page  1 2