News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_betpet

Z80 programming on the PC

Started by betpet, 20:33, 27 April 09

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

betpet

I'm trying to get to grips with Z80 and was wondering if there was an interpreter or something available?  The tho8ughts of using my Amstrad emulator to write code does send a shiver down my spine a little. 

If not, do you guys have any tips on what i should do to get started?  I'm assuming a copy of maxam is a must :)
Old Amstrad CPC 6128 owner. New Amstrad CPC 464 and 6128 owner. Getting back the love!

fano

Hi betpet from RR ?

Programming on WinAPE is great and uses MAXAM syntax.It is great for debugging (and for live develloping).
If you don't want to work in ASM , there is a C compiler for crossdev : z88dk (http://www.z88dk.org )
On a real CPC, i was using DAMS, it is light and debuguer.Never tried MAXAM on real CPC so i can not say about it.
"NOP" is the perfect program : short , fast and (known) bug free

Follow Easter Egg products on Facebook !

betpet

Quote from: fano on 20:45, 27 April 09
Hi betpet from RR ?

The one and only :D

cheers for the tips.  I'll try with WinAPE
Old Amstrad CPC 6128 owner. New Amstrad CPC 464 and 6128 owner. Getting back the love!

arnoldemu

Quote from: betpet on 20:33, 27 April 09
I'm trying to get to grips with Z80 and was wondering if there was an interpreter or something available?  The tho8ughts of using my Amstrad emulator to write code does send a shiver down my spine a little. 

If not, do you guys have any tips on what i should do to get started?  I'm assuming a copy of maxam is a must :)
I use crimson editor for writing the code.
I use pasmo for the assembler.
And cpcxfsw and other tools for building the dsk/cdt image.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

betpet

Thanks!  Do you have an links for those tools?
Old Amstrad CPC 6128 owner. New Amstrad CPC 464 and 6128 owner. Getting back the love!

voXfReaX

Quote from: betpet on 10:00, 28 April 09
Thanks!  Do you have an links for those tools?

Hello!

I just saw that old post that was unanswered!

For pasmo, http://www.arrakis.es/~ninsesabe/pasmo/

Winape has a built in assembler also! You might wanna try it!!!

For dsk image -> CPC disk and vice versa, you can use CPCDiskXP. It is download-able here!

we speak,
voXfReaX



Executioner

Quote from: voXfReaX on 22:20, 09 June 09Winape has a built in assembler also! You might wanna try it!!!

For dsk image -> CPC disk and vice versa, you can use CPCDiskXP. It is download-able here!

Also, if you have a 3.5" or 5.25" drive on both your CPC and PC, you can tell WinAPE the format and use write direct to write the assembler output files directly to the floppy for use in a real CPC.

Axelay

Quote from: Executioner on 07:39, 10 June 09
Also, if you have a 3.5" or 5.25" drive on both your CPC and PC, you can tell WinAPE the format and use write direct to write the assembler output files directly to the floppy for use in a real CPC.
That reminds me.  Is it possible with write direct to add both a load and execution address to the output file?  I cant find any mention of it in the help, and if I use:
write direct "a:output.bin,&8000,&8200"
I get a file with execution address &8000, but a &0000 load address, and trying to guess what else the syntax might be hasn't really worked!

Devilmarkus

Shouldn't this work?
org #8000
run #8200
write direct "a:code.bin"
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Executioner

Quote from: Axelay on 17:56, 15 June 09
That reminds me.  Is it possible with write direct to add both a load and execution address to the output file?  I cant find any mention of it in the help, and if I use:
write direct "a:output.bin,&8000,&8200"
I get a file with execution address &8000, but a &0000 load address, and trying to guess what else the syntax might be hasn't really worked!

As mentioned by Markus, the load address is determined by the current code generation address (org instruction). You can add the execution address as a parameter or use the run instruction as he's done.

eg.

org #4000
write direct "a:test.bin",#6000

would provide a load address of #4000 and exec address of #6000.

Axelay

Thanks guys.  My problem was putting write direct before the org instruction.  Dont know why I didn't try that.  ::)

Executioner

Quote from: Axelay on 10:51, 16 June 09
Thanks guys.  My problem was putting write direct before the org instruction.  Dont know why I didn't try that.  ::)

I've been guilty of doing the same thing, and then being confused by the zero load address. :o

Powered by SMFPacks Menu Editor Mod