Image Map Image Map
Results 1 to 10 of 10

Thread: Getting started with Z80 assembly language on an Exidy Sorcerer.

  1. #1

    Default Getting started with Z80 assembly language on an Exidy Sorcerer.

    Hey folks.

    Thanks to dave_m's hard work restoring my systems, I now have an Exidy Sorcerer with CPM floppy drives and I am wanting to get going learning Z80 assembly language.

    I'm a fairly experienced programmer but not with assembler.

    My question is, does anyone have any opinions about the most effective development workflow and development tools for Exidy Sorcerer?

    Am I best off doing the development on an actual machine or on an emulator? Is there an emulator around that is good for doing Sorcerer development? I have seen at least one that does Sorcerer software/games - maybe that's the best place to be doing the development?

    What tools should I use? I can see an assembler on one of the CPM disks that I have - so I guess the raw capability is there for doing assembler, but maybe there are better, more modern options?

    I wondered if maybe I should use one of the modern Windows IDEs that are set up for doing ZX Spectrum Z80 or Amstrad Z80 development/emulation, do the main chunk of development there, and then somehow do the Sorcerer specific code actually on the Sorcerer?

    It looks like it could be really painful to be using the tools from the 1970's and whilst I want to get up to speed I'd like to do it in the most time effective and painless manner.

    Any insights valued. I'm also curious to know if there is anyone really who does any Sorcerer development here in 2018 soon 2019!

    thanks!

    Andrew

  2. #2

    Default

    I've been going round in circles for days with the same questions, trying different emulators then different assemblers with lots of iterations. I won't detail all the steps but in the end I've got the MYZ80 emulator running CP/M 2.2 on an XP machine.

    MYZ80 has IMPORT and EXPORT commands built in for copying to/from the host filesystem so it's been fairly simple to import the Z80ASM assembler plus other tools from here - http://s100computers.com/Software%20...Collection.htm. Notepad++ on the XP box is good for hand editing then it's just a case of IMPORTing the code to MYZ80, assembling to a HEX file then EXPORTing that back to XP. Takes seconds.

    With a cable hooked up to the XP machine's serial port it's a simple matter of booting the Sorcerer to the monitor, typing SE T=2 to set the I/O to 'serial, 1200 baud' then booting CP/M and using PIP to receive the HEX file onto a floppy - PIP B:TEST.HEX=RDR:
    On the XP box I use RealTerm to send the hex file down since it's fully configurable with byte send delay etc. When the code has finished transmitting you type EOF (CTRL-Z) in RealTerm and the Sorcerer writes the disk file which you can then LOAD from CP/M.

    Easy
    www.binarydinosaurs.co.uk - UK home computer history
    Where RIFA capacitors come to die
    facebook.com/binarydinosaurs

  3. #3

    Default

    Development for the Sorcerer is still in my incredible long TODO list but as it's similar to other platforms my recommended setup (of course to cross develop) is something like:

    - Notepad++: Very powerful editor with a lot of plugins and syntax highlighters. Aanyway, there're tons of them out there (UltraEdit, PSPad, ConTEXT, etc.)
    - sjasm Z80 assembler: It has everything you'll need from a macroassembler; but also, a very wide range of tools to choose (pasmo, tniasm, etc.)
    - MESS emulator: The Sorcerer emulation is quite good and it has some nice features like sending commands to the emulated machine right after booting up (not sure if the Sorcerer drivers supports this tho...).

    If you want to try also with C, you can develop more or less easily thanks to Z88DK. It has the Sorcerer as one of their targets and works pretty well.

    Development over the Sorcerer itself could be more a challenge than a pure development task; but it can be also a lot of fun.

  4. #4

    Default

    I use TASM and Notepad++ on s PC, then Kermit to transfer the binary to the CP/M machine for test.

    Would love to do it all on the machine but I haven’t found a usable text editor for it (and so one of my projects was a port of vi)..

  5. #5

    Default

    Cool!, I've recently seen some vi CP/M ports, (one of them being pure CP/M and the other a MSX-DOS one, very close to the CP/M). The pure CP/M port is still too big when compiled and leaves not too much free mem; but hey, it can be used with sources around 20KB; about the MSX version I can't remember the details, it must be smaller for sure as it only implements part of the original VI features.

    How big is your vi?

  6. #6

    Default

    The COM file is 26K. It's a port of STEVIE by the way, not my own work. And really, really, really slooooooooowwwww.....

    Could you post some links to the other CP/M vi clone sources please? I know there's one that Udo Monk was working on, not sure the current state but it's on Github: https://github.com/udo-munk/s

    No idea if it works.

  7. #7

    Default

    That's it, it's the Udo Munk's vi port, suposedly it weights about 35KB...

    The other must be faster enough as it runs on MSX machines: MSX-VI. The price to pay is a somewhat limited feature set.

  8. #8

    Default

    If it is faster it's because it isn't implementing double buffering like STEVIE does. Those routines are sloooow even when rewritten in machine code. MSX-vi also has no "undo" feature.

    MSX-vi benefits from having the UDP (screen display chip) for output - it might be that its screen memory in text mode can be addressed directly. This would be way faster than going via CONOUT (as STEVIE does).

    For example, on the Superbrain, the screen RAM is memory mapped so you can access it directly. Yet I think the problem (for STEVIE) is the double buffering. Not sure if Udo's s editor does this or not.

    [edit: I had a play with it in the online MSX emulator and yes, it's quicker (much quicker) than STEVIE. However it doesn't implement line wrapping but scrolls everything to the left, so when you start to enter characters after column 80 on a line it does slow down due to screen refresh. It is usable, though.]

    Apologies to the OP for going off topic.
    Last edited by JonB; October 18th, 2018 at 09:55 AM.

  9. #9

    Default

    Quote Originally Posted by jonb
    I use TASM and Notepad++ on s PC, then Kermit to transfer the binary to the CP/M machine for test.


    Last night I discovered one of the few machines not to have a Kermit port is the Sorcerer...
    www.binarydinosaurs.co.uk - UK home computer history
    Where RIFA capacitors come to die
    facebook.com/binarydinosaurs

  10. #10
    Join Date
    May 2018
    Location
    Melbourne, Australia
    Posts
    79

    Default

    Quote Originally Posted by Witchy View Post
    Last night I discovered one of the few machines not to have a Kermit port is the Sorcerer...[/COLOR]
    Reading through SCUA newsletters the go in the Oz was STERM (Serial Terminal) by Bob Stafford (also known for the EzyFile and CADAS databases and porting FIG-FORTH to the Sorcerer). It supports XMODEM and YMODEM.

    Someone will have a disk somewhere ...

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •