Author Topic: Programming - Where to start?  (Read 3007 times)

0 Members and 1 Guest are viewing this topic.

Offline RitualNet

  • CPC464
  • **
  • Posts: 3
  • Country: 00
  • I'm a Genie in a shark-skin covered bottle.
  • Liked: 0
  • Likes Given: 0
Programming - Where to start?
« on: 17:47, 08 December 09 »
Hi!

I used to get... kinda dragged to the WACCI conventions back in the day, and other than games, had no real interest in the Amstrad. I've done programming throughout Uni, and to be honest, was at a loss of what to do on my breaks, then found a "Watson's Workbook - Amstrad CPC 464 Starting Basic" book. I've started on that with WinAPE (although it doesn't like my lil EEEPC for some reason) but it's part of a two book set, and I'm not sure I have the other book. The only other Amstrad book is a book of game listings which is interesting to flick through to find out how things are done, but I've kinda hit a stop.

First off, is there any sites, PDFs or resources for ye-olde Amstrad programming? Also, what is the best Emu to use in this regard? (Having problems finding all the keys on WinApe, such as *, + etc) I do have some original equipment left I could do the programming on, but I remember (not too fondly) the days of tape drives, and I'd rather not watch all my work get lost as the tape decides it doesn't like me anymore.

Proud member of WACCI (when it was running :/)

Offline ukmarkh

  • 6128 Plus
  • ******
  • Posts: 1.465
  • Country: england
    • Classic Replay
  • Liked: 390
  • Likes Given: 110
Re: Programming - Where to start?
« Reply #1 on: 18:36, 08 December 09 »
Welcome...

Well if your good at maths, your halfway there.  ;)

Winape32 is probably the best emulator to get started on, and as you can imagine dev time is rapidly speeded up. If you're talking basic programming, type ins from the the uploaded Amtix and AA mags on this very site are a good place to start, and try to track down an original Amstrad manual if you can. The AA basic or assembler guides are good also, and ran for several issues during the life of the mag... these are also available on the uploaded scans.

The key mappings are just something I've done myself, trial and error and a little time consuming. On this very forum are programmers of new and old Amstrad CPC games, and they'll be able to help you with any problems you have, i'm sure of that.

As you probably already know, you can't beat hands on experience, or having a friend that's a good programmer to learn off. This is by far the easiest way to learn.
« Last Edit: 18:40, 08 December 09 by ukmarkh »

Offline RitualNet

  • CPC464
  • **
  • Posts: 3
  • Country: 00
  • I'm a Genie in a shark-skin covered bottle.
  • Liked: 0
  • Likes Given: 0
Re: Programming - Where to start?
« Reply #2 on: 18:58, 08 December 09 »
We had a ton of stuff left over from the WACCI, but it got slowly binned. I'll dig through what was left, see if I can find an amstrad manual. Sadly my friends are more into messing with XNA and such like that, so are not much help, but hey, there's this place if I get really stuck. I think I just want to mess around with basic first, work through some examples, then start working on some bits and bobs.

Out of interest, the commercial games (jet set willy etc), were they done in basic? Can I get to that level of detail just in basic on it's own?
Proud member of WACCI (when it was running :/)

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2282
  • Likes Given: 3478
Re: Programming - Where to start?
« Reply #3 on: 12:12, 09 December 09 »
We had a ton of stuff left over from the WACCI, but it got slowly binned. I'll dig through what was left, see if I can find an amstrad manual. Sadly my friends are more into messing with XNA and such like that, so are not much help, but hey, there's this place if I get really stuck. I think I just want to mess around with basic first, work through some examples, then start working on some bits and bobs.

Out of interest, the commercial games (jet set willy etc), were they done in basic? Can I get to that level of detail just in basic on it's own?
Most commercial games were done in Assembler/binary. This is the only way to get the most power out of the cpc and to squeeze it all into the RAM.

It is possible to write games using BASIC though so don't be put off. BASIC makes a good start for learning the elements needed for a game.

If you find BASIC is not up to the task you need it for, then consider using a sprite library with BASIC (e.g. Sprites Alive), or consider learning C and using z88dk. A full library of functions/procedures are available for z88dk so this makes it easier to write games using it.

Personally I do all my games development using tools on the PC (pasmo assembler, crimson editor for writing code, my own tools for graphics conversion, gimp for drawing graphics) and then use a script to build the disk for the emu. I then test it on an emu, and finally on a real machine .. because although the emus are good, they are not perfect.

I used this method for Stranded, Balloonacy and Sudoku and another game which is in development.

Winape is a good emu, but there are other emus available ;)

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline redbox

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.788
  • Country: gb
    • redbox
  • Liked: 407
  • Likes Given: 287
Re: Programming - Where to start?
« Reply #4 on: 14:04, 09 December 09 »
First off, is there any sites, PDFs or resources for ye-olde Amstrad programming?

Sean McManus wrote The Basic Idea (http://www.sean.co.uk/books/amstrad/index.shtm) which deals with programming in BASIC and integrating Assembler - definitely worth a look.

Offline RitualNet

  • CPC464
  • **
  • Posts: 3
  • Country: 00
  • I'm a Genie in a shark-skin covered bottle.
  • Liked: 0
  • Likes Given: 0
Re: Programming - Where to start?
« Reply #5 on: 15:02, 09 December 09 »
It is possible to write games using BASIC though so don't be put off. BASIC makes a good start for learning the elements needed for a game.

That's what I thought. Start simple, work up. My programming experience is mostly .Net with a bit of C and Java, I can mess with stuff like assembler when I hit limitations, right now I'm not hitting any (not with my number guessing game anyway!)

If you find BASIC is not up to the task you need it for, then consider using a sprite library with BASIC (e.g. Sprites Alive), or consider learning C and using z88dk.

I remember Sprites Alive!

A full library of functions/procedures are available for z88dk so this makes it easier to write games using it.

I've had a quick look at that. Although yes I'm finishing my degree soon, I've mostly focused on dB admin, with the simpler programming languages and I'm not sure what to do with it. I'm guessing I write the program using it's form of C, then it turns it into code the CPC can read? (I'm sorry if I sound a bit dim, I've kind of had my hand held by VB.NET for the past six years)

Winape is a good emu, but there are other emus available ;)

I've tried JavaCPC which seems ok, although a little slower than WinApe, not tried Arnold yet though. I'll go give it a try, the latest version is 2004, right?

...Now I've got to try and dig up a 6128, create a cable, dig out a floppy drive and insert a switch... Wonder if there's a way to slap a HDD onto it.
Proud member of WACCI (when it was running :/)

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.336
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2282
  • Likes Given: 3478
Re: Programming - Where to start?
« Reply #6 on: 15:55, 09 December 09 »
That's what I thought. Start simple, work up. My programming experience is mostly .Net with a bit of C and Java, I can mess with stuff like assembler when I hit limitations, right now I'm not hitting any (not with my number guessing game anyway!)

I remember Sprites Alive!
Well a new game called "Eternal Light" was coded in Basic and using sprites alive, so this prooves that a good game can be made this way.


I've had a quick look at that. Although yes I'm finishing my degree soon, I've mostly focused on dB admin, with the simpler programming languages and I'm not sure what to do with it. I'm guessing I write the program using it's form of C, then it turns it into code the CPC can read? (I'm sorry if I sound a bit dim, I've kind of had my hand held by VB.NET for the past six years)
Yes, you write the program in a form of small c. Then the compiler (with the package), creates the final cpc binary you can use.

I've tried JavaCPC which seems ok, although a little slower than WinApe, not tried Arnold yet though. I'll go give it a try, the latest version is 2004, right?
Currently yes. But a new version is in progress.

...Now I've got to try and dig up a 6128, create a cable, dig out a floppy drive and insert a switch... Wonder if there's a way to slap a HDD onto it.
I use an external 3.5" drive which is compatible with the CPC6128 (provides the necessary READY signal), and an old PC floppy cable (the one with edge connector for 5.25" drives). The 3.5" is powered by an old PC power supply as is the CPC itself.
I then use CPCDiskXP to copy the emulator dsk file onto a real disc and then I can test it.

HDD: Yes. You can use a Symbiface II, or you could build a HDD interface. Details are on this website.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline Ynot.zer0

  • CPC6128
  • ****
  • Posts: 293
  • Country: gb
  • Liked: 23
  • Likes Given: 63
Re: Programming - Where to start?
« Reply #7 on: 18:32, 20 December 09 »
>HDD: Yes. You can use a Symbiface II, or you could build a HDD interface. Details are on this website.


Can you point me in the right direction?  (I believe the Symbiface II is like the yeti... I've heard of it but never seen it myself and can't seem to find one online to purchase).
If there are details on making a CPC specific HDD interface for CF or SD card then I'll be happy to get the soldering iron out of storage (rather than messing about with 3 or 3.5" discs)

Offline AMSDOS

  • Supporter
  • 6128 Plus
  • *
  • Posts: 3.939
  • Country: au
    • index.php?action=treasury
    • Programs for Turbo Pascal 3
  • Liked: 1161
  • Likes Given: 1931
Re: Programming - Where to start?
« Reply #8 on: 10:24, 06 July 13 »
Apologies for digging up this old thread. I just wanted to point out that while old games like Jet Set Willy were written in Assembly/Binary, early AMSOFT based games made good use of the Firmware which is something you can use in Assembly though is used extensively through a lot of the Locomotive BASIC commands, even though the Firmware is more extensive and a little bit faster when used through Assembly because it doesn't have to be translated by the machine. However like many things, the Firmware has its Good Features and Slow Features, which is usually where people have written their own routine, though it's not really clear to me which Functions are good and which are slow. GRA PLOT ABSOLUTE (&BBEA) is perhaps slow because people have written Faster Plotting Routines though.  ;D
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3