any tips for learning spectrum machine code?

edited August 2005 in Development
hello there, I have some experince programming in basic, both sinclair 48+ (just need to recall most of what i learnt :D ) and Quickbasic. anyway i am intrested in learning spectrum machine code, can you give me any advice and or tips please.

thank you.

Post edited by mestor on

Comments

  • edited August 2005
    Well for start, understand the concept of how the Spectrum computes ( 1- complement, 2- complement etc...).

    Further more practice, practice and practice.

    Here's a link where you can find a 3 part PDF-file with Z80 explanation.

    http://www.z80.info/z80books.htm


  • edited August 2005
    There's quite some stuff to be found in the documentation section. Cyborg's introduction to z80 is one of them.
  • edited August 2005
    On 2005-08-10 07:27, Dr BEEP wrote:
    Well for start, understand the concept of how the Spectrum computes ( 1- complement, 2- complement etc...).

    Further more practice, practice and practice.

    Here's a link where you can find a 3 part PDF-file with Z80 explanation.

    http://www.z80.info/z80books.htm



    thanks for the link, i'll surf thoughly through it later.

    i have a very rough understanding of binary numbers, need to practice.

  • edited August 2005
    On 2005-08-10 10:32, Paul van der Laan wrote:
    There's quite some stuff to be found in the documentation section. Cyborg's introduction to z80 is one of them.


    that tutorial is very good, learnt the concerpt of registers with it.
  • edited August 2005
    Programming is like lego.

    You take bits and add them together to make a whole.

    In a language like BASIC, you get big lego bricks, ready made - like wheels, windows, roof tiles and doors etc.

    Assembly language gives you only one type of brick, the small, flat brick with just one "bobble" on the top. But it does come in a wide variety of colours.

    So Assembly is programming in very small steps, whereas you can achieve very big steps in BASIC.

    Once you get your head around that, Assembly becomes very easy, but very tedious as a simple PRINT in BASIC grows to a few hundred instructions of Z80 Assembly.

    But you do get some amazing speed and flexibility out of it - well worth learning. I did, and although I'm not proficient in any way, I've done some great things with the knowledge I have.

    D.
  • edited August 2005
    A book I found indispensible is Programming the Z80 by Rodney Zaks. There is an online version but it only has a couple of chapters at the moment. You can pick them up on Ebay however from time to time for a few pounds.

    http://www.funet.fi/pub/msx/mirrors/msx2.com/zaks/
  • edited August 2005
    On 2005-08-10 18:17, dmsmith wrote:
    A book I found indispensible is Programming the Z80 by Rodney Zaks. There is an online version but it only has a couple of chapters at the moment.

    There was a full version knocking about on Usenet a while ago in pdf format but not searchable or anything.

    Uploaded again here Size:11.8Mb
  • edited August 2005
    Or straight from the horses mouth...
    http://www.zilog.com/docs/z80/um0080.pdf
  • edited August 2005
    On 2005-08-10 18:30, Mr. Anonymous wrote:
    On 2005-08-10 18:17, dmsmith wrote:
    A book I found indispensible is Programming the Z80 by Rodney Zaks. There is an online version but it only has a couple of chapters at the moment.

    There was a full version knocking about on Usenet a while ago in pdf format but not searchable or anything.

    Uploaded again here Size:11.8Mb

    Its not there :(

    If anyone has it, I will gladly put it onto sinclair heaven for all to see. It'd have to be after the weekend though. There seems to be a show or something happening.
    My test signature
  • edited August 2005
    On 2005-08-11 00:48, fogartylee wrote:
    If anyone has it, I will gladly put it onto sinclair heaven for all to see. It'd have to be after the weekend though. There seems to be a show or something happening.
    I've got it Lee, let me know if you want it (and how to get it to you, I could always put it on my webspace).
    I wanna tell you a story 'bout a woman I know...
  • edited August 2005
    On 2005-08-11 00:48, fogartylee wrote:
    Its not there :(

    >>> :) <<<

  • edited August 2005
    Zilog also have a nice looking Z80 development environment (ZDS) anyone used it? I've tried but con't get a binary output, but it does give a nice listing.
  • edited August 2005
    Further information:
    http://www.worldofspectrum.org/Z80.html
    http://www.madhippy.com/8-bit/sinclair/zxspecman/
    http://www.lawrencechitty.uklinux.net/wizardwiki/index.php?Z80%20Reference

    Machine-code is best learned gradually, I think - by studying small code-fragments written by other people and making minor adjustments. It's important to write a small amount of code at a time and test it thoroughly, as even tiny mistakes can easily result in overwriting random chunks of memory, or crashing.

    Annotated machine-code samples can be found in the documentation for my Jet Set Willy games Jet Set Willy: The Lord of the Rings, Goodnite Luddite and Party Willy, and Manic Miner: Neighbours - Allana Truman.

    --
    Dr. Andrew Broad
    http://www.geocities.com/andrewbroad/
    http://www.geocities.com/andrewbroad/spectrum/
    http://www.geocities.com/andrewbroad/spectrum/download/
  • edited August 2005
    On 2005-08-18 04:12, andrewbroad wrote:
    Further information:
    http://www.worldofspectrum.org/Z80.html
    http://www.madhippy.com/8-bit/sinclair/zxspecman/
    http://www.lawrencechitty.uklinux.net/wizardwiki/index.php?Z80%20Reference

    Machine-code is best learned gradually, I think - by studying small code-fragments written by other people and making minor adjustments. It's important to write a small amount of code at a time and test it thoroughly, as even tiny mistakes can easily result in overwriting random chunks of memory, or crashing.

    Annotated machine-code samples can be found in the documentation for my Jet Set Willy games Jet Set Willy: The Lord of the Rings, Goodnite Luddite and Party Willy, and Manic Miner: Neighbours - Allana Truman.

    --
    Dr. Andrew Broad
    http://www.geocities.com/andrewbroad/
    http://www.geocities.com/andrewbroad/spectrum/
    http://www.geocities.com/andrewbroad/spectrum/download/


    true, isn't it also a good idea to build up a libray of interchangable routines, so for instance i can have a standard sprite displaying routine used across all programs.

    at the moment, i am progamming small chunks and testing them, to get an idea how the system works. and also asking loads of questions
  • edited August 2005
    Sadly, the Wiki has been defaced by some utter scumbag with a link generator.
Sign In or Register to comment.