![]() |
![]() |
#61 | |
Global Moderator
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
|
Quote:
heheeh thanks ![]() 68k asm is something I always wanted to learn and was never able to (Like ant I learned alot via trial and error).. Now I have the books, the contacts and plenty of ppl both trying to help us and also others wanting to learn that I think a new tour de force of amiga game programmers is just around the bend ![]() My long term 68k ambition is to program a decent game or 2.. It'll be a long, long way off and I have already talked to 1 or 2 ppl regarding possible co-ops ![]() Hopefully I'll get my asm dev-hdf working properly and then I'll start moving forward ![]() |
|
![]() |
![]() |
#62 |
In deep Trouble
Join Date: Sep 2004
Location: Manchester, Made in Norway
Age: 51
Posts: 841
|
Hehe, Bippy... MY longterm goal with the AmigaCoding, is to make a Linux-ish version in AmigaE....... would prolly be real crap, but hey... at least I could say "I made it"
![]() |
![]() |
![]() |
#63 | |
Posts: n/a
|
Quote:
|
|
![]() |
#64 |
Registered User
Join Date: Dec 2004
Location: Hogtown, Canada
Posts: 16
|
I started out copying programs out of Compute's Gazette for my Commodore 64 in the mid 1980s and tried to learn a bit of programming from there. Didn't have much success though, until I reached middle school and found a more experienced person to talk to (a teacher who I wouldn't have for another year or to). Eventually I took younger students under my wings, and that helped me to learn even more. Needless to say, I started with BASIC. Eventually I hopped over to C++, then learned about C (proper), and finally learned to love block structured programming in Pascal.
As for this C vs. C++ thing: the language that you choose depends upon the project and the programmers involved. Procedural programming is not backwards, it is simply one model among many. Different models are applicable in different circumstances, and those circumstances depend as much on the programmer as the problem. (For example: I have seen people who are perfectly comfortable with stack langauges.) Since most of the programming I've done has been related to science research, the procedural model fits quite well. I've also worked with Motif, and could only thing "my god, why didn't they use classes." Context is important. As for the efficiency bit, as an end user I am fed up with programmers who choose inefficient development tools to fit their needs. Why? Because I'm fed up with upgrading just to do the stuff that my old computer was great for. But you pretty much need to hop on to this treadmill in order to stay compatible with the outside world. So please pay attention to those extra bytes and milliseconds, because when they are distributed across enough code they account for significant bloat. |
![]() |
![]() |
#65 |
Registered User
Join Date: Sep 2006
Location: Norwich, UK
Posts: 57
|
For me, I started with the Spectrum when I was 8 years old, fiddling with the examples in the manual, type-in's from magazines etc... eventually learned enough to write my own stuff. I did try z80 assembler but couldn't get my head around it at 11 years old
![]() I got an Amiga 600 for xmas when I was 14, and also got the Amiga Format magazine with AMOS on it. Started coding AMOS, and about 2 years later got fed up with it and started to learn 68000 assembly... from code on Aminet, and by hacking into other peoples code (with the good old Monitor program by Timo Rossi!) In 1996, I went to college where we were doing Pascal... learnt Pascal very quickly (3 months) and this got me into the PC... I bought my own, and started learning C on Visual C++ 4 with a copy of this book. Learnt C++ a bit later on (although I still don't know things like how to use templates properly, and the STL) In 1999 I met Paul Burkey, the author of Foundation... I helped him get started on the PC and also helped him make some updates to Foundation as he had just sold it to e.p.i.c Interactive (now Runesoft). From there, e.p.i.c approached us both to port SimonII to the Amiga and Mac. I learnt x86 assembly and ported the core of the game, and Paul wrote the Amiga and Mac specific code. Boring eh! |
![]() |
![]() |
#66 |
move.w #$4489,$dff07e
Join Date: Sep 2005
Location: Norfolk, UK
Age: 42
Posts: 2,351
|
That sounds pretty cool to me
![]() ![]() |
![]() |
![]() |
#67 |
Registered User
Join Date: Sep 2006
Location: Norwich, UK
Posts: 57
|
it's not as neat and friendly at all... I know enough about it to be able to write some simple routines, and to translate someone else's written code back to C!
|
![]() |
![]() |
#68 |
RasterSoft Dev
|
I started on a TS-1000 (ZX-81). My amiga programming started with a demo that had source code in it. I can't remember the name of the demo, but it had the mod file about 'collecting trash in your brain' in it (http://www.modarchive.com/cgi-bin/do...gi/T/trash.mod). I wrote the source out on paper, and studied it... I was able to get my own raster demo going from this...
The demo was SportMad. Last edited by cdoty; 23 September 2006 at 08:47. |
![]() |
![]() |
#69 | |
Zone Friend
Join Date: Jul 2006
Location: MARGATE UK
Age: 62
Posts: 33
|
Quote:
![]() |
|
![]() |
![]() |
#70 |
Long time member
Join Date: Jul 2001
Location: UK
Posts: 754
|
Back on topic.... better get the hankies out..
When I was very young all my friends had computers before me. Spectrums actually. I used to go round thier houses and play on them and everytime xmas or birthdays came round Id badger my parents for one. One birthday came round and this time there was a great box shape present which made me excited but I felt there was something wrong - the box was too big to be a spectrum or any other decent computer that I knew of. So I opened it with trepidation to find... an Amstrad PCW Wordprocessor wtf?!?! Being 13 years old at the time you could guess how thrilled I was. My dad said at the time it will be good for me to learn about computers and not play games etc.. Well after a few minutes I got bored of Locoscript and turned the disk over to see what CPM and Mallard Basic was.. and that was the start of my programming.. At one point I used to try to copy the listings from Amstrad Action in (which were for the CPC computers) and tweak them to make them work on the PCW which was very hard as it had no graphics commands! but that was how I learnt the basics. I did write a few programs though and two got published in 8000 plus (which I got £25 and £10 for) - of which I still have a copy. Then about 3 years after I had my PCW I bought myself an Amiga and bought devpac and Amiga reference guide and along with various tutorials (Amiga Computing demo tutorial, The Menace tutorial) and a lot of help from my mate I taught myself how to write demos etc.. |
![]() |
![]() |
#71 | |
Registered User
Join Date: Aug 2006
Location: Finland
Age: 52
Posts: 244
|
Quote:
I used to write a lot of games & programs from listings published in magazines at that time. I guess that contributed a bit. About hardware I knew that much if I put the lead from PSU into my mouth it hurts.. ![]() |
|
![]() |
![]() |
#72 |
Registered User
Join Date: Sep 2006
Location: Norwich, UK
Posts: 57
|
...and then you wrote the awesome Stonecracker which I used to use for packing pretty much everything
![]() ![]() Thanks ![]() |
![]() |
![]() |
#73 | |
RasterSoft Dev
|
Quote:
|
|
![]() |
![]() |
#74 |
Registered User
Join Date: Sep 2006
Location: Norwich, UK
Posts: 57
|
Thats why they have so much L1 cache... the lack of registers is made up for by the fact that local vars on the stack will inevitably be cached in L1, thus making up the speed. Also... dont forget that it's quite easy to assume MMX is available now, so you get 8 64-bit wide registers.
Things are a lot better in x86-64 though... AMD had the great idea to make more general purpose registers available ![]() |
![]() |
![]() |
#75 |
Junior Member
|
VIC 20 BASIC, Simon's BASIC and the Super Expander BASIC for the C64. From there on to Turbo Pascal, Turbo C. As much as I would of liked to code more on the Amiga, I never coded much since Imagine was busy rendering away on it most of the time. Currently using Objective-C, Java, C# and SQL Server.
|
![]() |
![]() |
#76 | |
(2b)||!(2b)
Join Date: Mar 2007
Location: Cranbrook, Devon, UK
Age: 50
Posts: 241
|
Apologies for resurrecting an old topic but felt I had to add to this one.
I started coding on the Spectrum, C64, BBC, Dragon and Oric all at the same time by visiting computer shops and using their computers. Went onto borrowing the neighbour's Sinclair ZX48, then had a C64, then BBC B, then Amstrad 6128, then A500 1.3, then A1200 3.0 and used BASIC on every single one until I had the A1200 which was when I had my first hard drive. Going through so many machines meant I had quite an understanding of BASIC. Oh, learnt Pascal at college and used a few other machines through time. With having an Amiga with a hard drive meant I could branch out into other languages. I eventually settled with Amiga E and assembler. One thing that I loved with E was the ability to jump between E and assembler and back with so much ease. Couldn't afford manuals until a mate gave me his legit copy of DevPac then I was away. One group I was in had a great asm coder who helped me out with various bits of code and a mate in Australia did the same. Released some small tools and OS fixes of existing software (pre 1.3 to KS2+), a few music packs etc. I knew all about bits (MSB, LSB, AND, OR, XOR, NOT etc.) and it's incredible how many SQL users I've met who know what SIGNED/UNSIGNED is but don't know how the computer stores negative numbers. Still amazes me now when I meet people who don't know this stuff. I hate VB and other languages with a vengeance as I feel they don't have to know much about what thy're doing - most is done for them. Even basic stuff like opening a window and handling its event calls for example. Quote:
I also like to optimise my code wherever possible and as someone mentioned before, my code also runs 10x faster than that of others, is more readable, easily edited and basically much better than that of someone who spent a couple days doing a thesis before coding. Last edited by Yesideez; 29 March 2007 at 01:58. |
|
![]() |
![]() |
#77 |
Spellcoder
Join Date: Aug 2006
Location: The Netherlands
Age: 44
Posts: 27
![]() |
I started out with basic on a c64 when I was 6 (1986)... Basicly I saw a nephew write his name a thousand times on the screen and it looked funny so I wanted to do it too
![]() At about 9 I got more interested and wanted to learn more than for/next/goto/input/print. So my dad bought an book for kids on how to program on c64/spectrum/etc. Later that year my dad bought an Amiga, so I started using Amiga Basic. About a year later I switched to AMOS Basic which was much easyer, faster, better... AMOS really sparked my interest into programming, so much that I even read the complete manual ![]() In 1998 I learned 680x0 assembler with some tutorials I downloaded from Aminet and AsmOne and AsmPro. First I made some cli programs, later I tried aga-fixing some stuff and I tried to make a intro/demo later. Between 1998-2001 I wrote these things:
I had to do some coding on the PC for my study, so I working in Turbo Pascal, Turbo C, Visual Basic 6. Wrote some battle.net telnet & diablo2 protocol bots with VB6 which could send game-related stuff (character info) to a website I made. When Microsoft dropped support for VB6 I've totally stopped using VB6. From 2003-now Mostly writing webapplications in PHP and Javascript in OO style. Wrote a not-finished CMS system in PHP and a on-/offline webapplication that has a mapsystem (kind of like google maps), video-player (for dvd) and some gui elements (slider) that's used for some DVD's about wind/watermills and in a traffic-education project in the Netherlands. Having programmed on the Amiga and trying to get max. performance still influences my coding style. I still enjoy optizing and playing with bit logic in PHP/Javascript, and large XML documents make feel sad for wasting resources (but at least I can get to people I work with to understand how to edit them ![]() If/when I had the time I would/will certainly finish my unfinished Amiga projects, because I had great fun coding on the Amiga ![]() Last edited by Spellcoder; 30 March 2007 at 17:42. |
![]() |
![]() |
#78 | ||
Registered User
Join Date: Sep 2004
Location: Norway
Age: 49
Posts: 180
|
Quote:
Quote:
I'm a non-coder today and still try to find out where my life went wrong ![]() How do you measure that on the PC? How do you optimize the program? |
||
![]() |
![]() |
#79 |
(2b)||!(2b)
Join Date: Mar 2007
Location: Cranbrook, Devon, UK
Age: 50
Posts: 241
|
@Haakon: I never fully optimised as far as I could have, learning CPU cycles was a bit much for me at the time although I did learn some. Optimising code isn't only CPU cycles, its down to the structure of the code as well. I mainly concentrated on using functions and procedures wherever I could (not repeating code) and other menial stuff like using "bxx.b" wherever possible instead of plain "bxx"
Also stuff like: Code:
jmp labelhere Code:
jsr labelhere rts Although I have a feeling someone's gonna pull that apart ![]() Last edited by Yesideez; 31 March 2007 at 16:28. |
![]() |
![]() |
#80 |
Registered User
Join Date: Nov 2006
Location: Stockholm, Sweden
Posts: 237
|
@Haakon:
On a high level, the code is optimized when you're not doing more iterations than necessary through your loops. For instance, if you want to know which out of a set of 1000 2D sprites that are overlapping (and you know that 90% will not be overlapping), how many iterations are you doing? 1000000? 100000? 10000? 1000? 100? On an intermediate level, the code is optimized when you keep intermediate results from operations around so you don't need to unnecessarily re-calculate them a little while later. On a low level, the code is optimized when there isn't much "fluff" between instructions that do the actual work. Orthogonal to this is memory access: the code is optimized when you touch as few cachelines of memory as possible while performing the actual work. Memory access patterns affect the analysis on all levels. There are two ways of knowing whether or not the code is optimized: estimate how much time it could take in the optimum case, and then either guess how much time your current implementation takes -- or measure it. "Profilers" are programs which perform that kind of measuring. A good profiler is extremely helpful; it can analyze the entire program at once, and in a few seconds you get an overview of which parts of the program are slower than expected. |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
External windows program communicating with program running inside WinUAE | xxxxx | support.WinUAE | 10 | 19 February 2013 09:27 |
I want to learn about Workbench | mancity | support.Apps | 26 | 21 May 2012 06:14 |
To Late To Learn How To Program On The Commodore 64? | Kitty | Retrogaming General Discussion | 10 | 01 November 2009 21:11 |
Want to learn how to dissassemble games | Keeks | Coders. General | 7 | 06 November 2008 18:10 |
A little lesson to learn about Pong | MethodGit | Retrogaming General Discussion | 7 | 07 December 2001 13:03 |
|
|