07 October 2008, 17:32 | #1 |
Amiga User
Join Date: Dec 2006
Location: Delft / The Netherlands
Posts: 327
|
Noob Question but anyway.
I found a Tool called Multibootv1.0 by SPY from SENSOR for the Amiga which allows you to select up to 9 (non-wb) executable files like for example Red Sector Demomaker files and Multi-boot will make a bootblock and trackloader (NDOS disks) for you it appends the files. Because i don't know how to code. And it works pretty good
Anyway i feel so lame somehow. If i want to learn some coding for beginners, hopefully to write my own trackroutines or NDOS disks out of red sector demomaker files. Where should i start? are there any good tutorials for this on the internet or certain books to learn coding? On my dutch amigawebsite i talked to someone about this he knows alot about assemblers etc "Vektor of Zite Productions". He showed me his bootblock and some coding stuff but for me its pure abacadabra. http://www.amigascene.nl/modules/new...#forumpost2750 anyway whats just the best starting point if i want to learn coding on a Amiga? ASM-One from TFA or something else? |
07 October 2008, 19:46 | #2 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
There's no definite book or document on the internet for the beginner coder AFAIK, but maybe these can help:
ASM-One http://www.theflamearrows.info/documents/ftp.html Various programmer references for the 680x0 series http://www.freescale.com/webapp/sps/...H3YTLC61654622 The amiga hardware reference manual. A brief addendum for the AGA hardware can be found in the ASM-one package. http://pub.elowar.com/AmigaDev/Hardware_Manual.html Some various Amiga programming information http://www.mways.co.uk/amiga/howtocode/ Loads of intro source codes to study http://cyberpingui.free.fr/rsources.htm The EAB and the Amiga Demoscene Archive has a coding forum with knowledgeable people http://ada.untergrund.net/ |
07 October 2008, 21:25 | #3 |
Amiga User
Join Date: Dec 2006
Location: Delft / The Netherlands
Posts: 327
|
Thanks. I took a look at some stuff.
It's too complicated for me. I think because ASM is a second generation language. 1 website says i need to learn the machine language first (How the Amiga Hardware really works). The other website says "Start with BASIC Language in order to understand ASM a bit more". I wonder how all the Amiga coders started to learn? they must have started somewhere? |
07 October 2008, 23:38 | #4 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,660
|
Going from scratch to asm is a big step. Math skills and learning a simple language first is recommended. Try Hisoft-Basic, it compiles I think. But if you already have some logic, math and procedural thinking, I recommend some Asm tutorials. Working my ass off right now, but in a while I will have some on coppershade.org.
|
08 October 2008, 02:05 | #5 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
What is it that you feel is too complicated? Computers and how they work and how you program them, or assembler/machine code and the Amiga hardware in specific?
|
08 October 2008, 05:28 | #6 |
Amiga User
Join Date: Dec 2006
Location: Delft / The Netherlands
Posts: 327
|
Well its like , i know how to use the Amiga in a normal way like everyone else does, and i know how to make a bootable workbench disk (Startup-sequence etc). but thats about it.
The thing i found too complicated is just looking at some ASM examples. It's pure abacadabra all these words and numbers it made me almost dizzy lol. for example i cannot find an explanation of the "dc.l" command, or what "move" does. like really simple stuff. Also does ASM work like "<Command> <Values> <Parameters>" or is it really complicated in a way that maths and formulas are involved? because at school i really sucked with math and physics lol. |
08 October 2008, 06:08 | #7 |
hastala vista winny vista
|
If I were you I would start with a modern language like C or Java. It won't be much use amiga-wise, but you would get hang of important concepts like variables, types, flow control, etc. Also it might be of use to you in the future for basic tasks. Then you can head into assembly and have an easier time.
|
08 October 2008, 10:53 | #8 | |||
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,865
|
Quote:
Quote:
Quote:
|
|||
08 October 2008, 11:20 | #9 |
Registered User
Join Date: Sep 2008
Location: Victoria, BC, Canada
Posts: 35
|
I was teaching a lab for my university's introduction to programming course tonight and I came to the conclusion that Java is an awful first language. There are too many tokens in the program when the programmer is beginning; a quarter of the kids in the course can't tell a variable from a method from a class, because there's too much going on.
BASIC (with line numbers of course! i'm only half kidding) is much more straightforward for the introduction of the user to the fundamental concepts of programming. I've seen Amiga BASIC books listed on ebay for a couple of dollars and I didn't see too many bidders, pick one up and start there. If you really don't want to jump into assembler, learn C or BASIC instead of C++ or Java - you will learn the concepts you need to learn asm later when you tackle pointers in C so it's a better choice if you're in a hurry, but BASIC will get you there, too. |
08 October 2008, 11:31 | #10 |
The 1 who ribbits
|
check out E man if i remember it lets you mix assemble within its code and started out ob the amiga
|
08 October 2008, 11:38 | #11 |
move.w #$4489,$dff07e
Join Date: Sep 2005
Location: Norfolk, UK
Age: 43
Posts: 2,351
|
|
08 October 2008, 14:29 | #12 | |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Quote:
In high level languages you will face a lot of confusion when you have to deal with complicated syntaxes, constructs and programming paradigms. Machine code is in in a way inherently free from this, and since each instruction performs a single, basic operation, it also makes it easy to learn, believe it or not. Since you've looked at some source codes you can see that the <command> <value> format pretty much applies, yes. You have no curly braces or indentations and so assembler (the written text form of machine code) has a very "fixed" look. Some instructions take no values, and some require several values in order to perform the operation. The common thing is that they each and one perform a very simple operation such as moving a byte in memory, comparing two values, jump to a different part of memory to resume program instruction there etc. Instructions are executed in order, and constructing a program is a matter of writing a sequence of instructions to perform all the operations needed to get the desired result. F.ex to calculate the sum of a hundred numbers stored in the memory you would need to know where in memory the numbers are and write a sequence of instructions that reads one value, adds it to the sum and then proceeds to the next value and repeats itself until all numbers have been added. In these processors there are no instructions to magically add a hundred numbers, draw lines and circles on the screen or ask the user to enter his name, to do these things you would have devise a method and writing all the instructions needed for doing so. Really sorry for the tedious post I'm trying to explain this kind of programming to him in a simple way, maybe I'm not very pedagogic. If all of this still doesn't fit in your image of computer programming then maybe it's just not for you. If you're still curious about something then just ask, maybe we can give you some specific and practical examples that will clear things up. |
|
26 October 2008, 12:01 | #13 |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
The hardest part of ASM programming is understanding the underlying hardware and how to manipulate it properly
|
29 October 2008, 09:52 | #14 | |||||
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,852
|
Quote:
Quote:
Also take a look at Amos or Amos pro. Quote:
Here's a simple program with an explenation of what it does: Code:
start move.l #123,d0 ;Put 123 in register d0. move.l #456,d1 ;Put 456 in register d1. add.l d0,d1 ;Add register d0's value to that of d1. ;D1 will countain 579. move.l d1,result ;Store result in memory location named 'result'. rts ;return to system (rts=return subroutine). result dc.l 0 ;Make 4 byte storage space at location 'result'. Quick note on the .l thing: This refers to the size of the operation. .l means the operation is carried out on 4 bytes. A .w would be 2 bytes and a .b would be 1 byte. Quote:
Quote:
|
|||||
29 October 2008, 10:42 | #15 | ||
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,818
|
Quote:
Quote:
|
||
29 October 2008, 11:34 | #16 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,852
|
This is the book I used to learn 68000: Assembly Language Programming for the 68000. Note that this is an Amazon link. However, you might want to consider searching for this some where else; just look at those prices: Ridiculous prices I guess the book is still copyrighted. Also, it's not Amiga specific. Still worth getting somehow if you're serious about learning 68000 assembler.
|
30 October 2008, 09:21 | #17 |
Phone Homer
Join Date: Jun 2006
Location: 5150
Posts: 5,818
|
Thanks ive ordered the book once it gets here I decide how serious I am
|
30 October 2008, 14:39 | #18 |
Posts: n/a
|
Going back to the op, theres a system routine that loads sectors in at a definate memory location as a trackloader, most of the early multi demo megademo's just intercepted the trackloader and chained each demo in on the system routine. It was a case of capturing the pointer, and handing your own parameters over to the system routine that took over telling it where on the disk etc the data was, and where to put it in memory.
I dont have any examples to hand, but downloading any of the earlier megademo's and disecting the bootblock etc will quickly reveal the technique. Might just be a bit in the future for you if your still wondering what move.l is about though... I tried to write a hardware trackloader using the chipset directly once. It went horribly wrong and born of it was a program called the "fast disk destroyer" which could erase a floppy in abour 6 seconds so the most dedicated of disk recovery progs couldnt recover it. I still don't know what I did wrong properly I learned assembly on the zx81, all those typing in of funny char's after discovering the ansi char for each mnemonic... After that the 64 was easier, but the amiga was just so easy in comparison... all those lovely longwords and stuff... For the first few months I had no compiler, I used to just edit the address space with the instructions and set it as the jump point for the memory monitor. Didnt know better, it was how we'd done stuff on the zx81... |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Noob question, sorry. | fitzsteve | project.WHDLoad | 3 | 23 August 2009 16:56 |
yet another noob question | AliasXZ | New to Emulation or Amiga scene | 11 | 23 January 2008 23:28 |
Noob alert! question about IK+ | WARGOD21 | New to Emulation or Amiga scene | 3 | 03 August 2007 17:14 |
AmigaOS Noob question | Rochabian | New to Emulation or Amiga scene | 4 | 11 January 2007 14:15 |
Sorry bout this noob question | jobro | Coders. General | 18 | 05 December 2005 04:06 |
|
|