Release Yaze-AG Z80 and CP/M emulator


hideki

Member
Joined
Apr 21, 2007
Messages
82
Hihi


http://repo.openpand...ail&app=yaze_ag


This is a Z80 and CP/M emulator (with an MMU and 1MB of RAM no less)


Drive E: is mapped to userdrive1 in the appdata directory (created on first run) but will appear only if you put files in it.


To exit the emulator, do A:SYS QUIT


This emulator contains a large number of dev tools for CP/M:


Disks included are as follows: (also detailed when you run the app)


A: BOOT_UTILS (BOOT disk with CCP.COM and some utilies)


B: CPM3_SYSdsk (Disk with all CP/M 3.1 system utilities)


C: ./disksort/ (Connected to the (unix-)directory ./disksort/ (SOURCE))


D: DISKSORT.dsk (Submit examples of the DISKSORT project)


E: - User files - (appdata folder)


F: ZINC (System Utilies of the ZINC project from John Elliott)


G: TEST-UTILS-1.10 (Test Utilities of the old version yaze-1.10)


H: HI-C-Z280-Compiler (A Copy of the C Compiler from HI Tech Soft)


I: UNIXLIKE (UNIX like utilities)


J: MMU-Utils (Testfiles for the Memory Management Unit (MMU).)


K: Kermit_SZRZ (Kermit and SZ/RZ (Zmodem))


M: Turbo-Modula-2 (Modula-2 compiler of Borland)


N: testdsk (Scratch area - Disk image)


O: ZPM3N10 (ZPM3N10 the BDOS3 replacement from Simeon Cran)


P: BIOS3 (Sources of the BIOS3 for YAZE-AG)


See the HTML manual included which should be available in the usual menu.


Note that if you have no idea what CP/M is you should probably give this one a miss, it's a text only operating system that was very popular on Z80 and 8080 based computers such as the Altair, Amstrad CPC and PCW.


yaze-zork.png
 
Last edited by a moderator:
Wheee!!! :)


Maybe I'm a bit sad, but I will definitely use this :D
 
I have tried this a bit, and it is definitely fun (for those of us with that bent). I still find SIMH and the Altair machine there more to my liking, but that is probably due to habit (and possibly language - The docs for Yaze is sometimes more germanified than I can manage to clearly decipher). There are some quirks that more or less come with the nature of a not entirely pandora-ified port - In particular, the disks are (if I'm not mistaken) non-writable, even though they are r/w, because they are in the pnd (apart from the user disk in appdata).


This does, however, definitely raise the question of documentation - not only of software (the particular program), but also of systems. For more popular typical home computers, it is a less obvious problem - Everyone knows what to do with a C64 emulator, you load up a "rom" and start playing - but in reality, even a 64 emu carries more complexity than that which is almost never discovered. For something like this, it is even worse. As you say: "if you have no idea what CP/M is you should probably give this one a miss". And I agree with that, not because I don't think that running CP/M stuff would be interesting (it could be for more people than the three of us that have an idea), but because it is quite impossible, really, to "casually" try out a CP/M emulator like this. Or, which I've written before, your Archimedes emu (wasn't it)? Or the Apple II emu. There is concepts that are needed to figure out how these things work, and to get these concepts you already need to know where to look.


This all comes from an idea that the pandora could really be something like an emulation standard. That is - If I am a retrocomputing or -gaming nerd, and are somewhat curious about a system, my pandora and the community could really be a kind of one-stop-shop to find the necessary emulators and hints about software and so on.


There could be a section on the wiki for "Emulated systems documentation". I imagine a structure something like this, and for a CP/M machine:


Why is this interesting?


Quick intro to the significance of CP/M as an OS, the history, the connection to the first personal computers


What does a system look like?


This would be easier to write for the Altair SIMH - A picture, perhaps, a description of the system components (CPU box, terminal, Floppy drives, and so on)


How is this emulated?


The system model of the emulator - The configuration of the emulated CPU, the floppy controllers and attached disk images, what happens when you "print" in the emulator. Preferably congruent to the system in the previous section.


What are the main reasons to try this?


List 5-ish "killer apps" - The original Zork, Wordstar, the early borland Turbo programming environments...


How do I do it?


A quite detailed first run-through - OK, so when you start the emulator, you end up in the SIMH monitor. From here, you can manipulate the machine, for instance by inserting (attaching) disks. Let's insert a system disk in the A: drive like this [...] Now, you boot the machine with 'b', and after some system information, you end up with a prompt. Try 'dir' - It will list the visible files for you. You can see the file ZORK.COM, which is the first part of ZORK. To run it, just type "zork". [...] And so on. Of course, the configuration of the initial disks that comes with the emu should contain all these programs and whatnot.


Where do I go from here?


Links to the CP/M archive and the Retrocomputing site, both to manuals and software. Pointers to YAZE and other CP/M emus and stuff.


Or, well, something like that. I'd like to se that for every emulated system, really - A quick start for the retro geek who wants to see if this is interesting. Preferably, this should be parallell to a pnd that in itself is packaged in a reasonable way, with some sensible starting disks (in this case), automatically placed somewhere obviously good. Here, I'd say a system disk placed in the pnd (that is, safe from breakage), and a games disk file and a programming disk file copied on the first run to appdata (for possiblity of user modification).


I could write something like this for CP/M, and possibly for the ZX Spectrum (even though I am a master procrastinator - be warned). Would this be interesting? And, more importantly, is anybody else interested in doing this for other more or less obscure systems?
 
Hihi


Moxie:


I think the disks are read/write


did a quick test


boot emulator


PIP FOO=PROFILE.SUB


FOO is there


restart emulator


FOO still there


Can you give some details please of when it doesn't allow writing to the filesystem?


I assumed it would as when you first start it it copies all the included disk images to appdata and they're mounted there so can be written to


As for the documentation, you make valid points, I generally port these things assuming people will know what they are (and primarily for my own use), I shall keep your suggestions in mind for the next update of Yaze though!
 
Interesting. I tried to use the Modula 2 editor and failed to save a file a few times, with some sort of disk not ready error, and just assumed that I understood why and stopped trying. One should never assume :)


And I do not mean to say that the porter of the emulator must also write up the system - More that Someone ought to be encouraged to do so (like me, who can't code worth scratch), and that it might be a useful addition to the wiki and the community.


I am at the moment reading (pdfs of) "The Computer Journal", a magazine/newsletter for "hobby computerists". It is interesting to see the issues of computer geeks 30 years ago. You should never buy software, and particularily not OSes, where the vendor doesn't supply the ASM sources! It will be so much more difficult to patch the system to your liking without them. Also, you should carefully consider your intended memory map when assembling your computer or adding new hardware.


The first one there sounds still relevant. The second, not too much, luckily :)
 
I need some assistance? A few questions?

1st
1.)How do you transfer files from your host? I understand it's wit the R command , but which folder is the Host folder? I can't seem to find it. I've tried the cpm folder.
2.)How do you make another drive, A & B disk are there already. But I want to make C, D, E, & F as well.
3.) I have .DSK's from my myz80, can I use then in YAZE, if so how do I get them to work?

Thanks in advance for any help.
 
As I'm not familiar with this emulator I just asked chatGPT what it thinks about your questions. Who knows, they might be helpful in some way.

1.)How do you transfer files from your host? I understand it's wit the R command , but which folder is the Host folder? I can't seem to find it. I've tried the cpm folder.
It seems like you're using a Z80 and CP/M emulator with a variety of disks and folders. The "R" command in CP/M typically stands for "Read" and is used to transfer files from the host system into the emulator's virtual disks. The specific implementation might vary depending on the emulator you're using, but I'll try to guide you through the general process. In your description, you mentioned that you've tried the "cpm" folder but couldn't find the host folder. The host folder refers to a directory on your actual computer where the emulator is running, and this is usually the source of the files you want to transfer to the CP/M emulator. Here's how you might be able to transfer files from your host system to the emulator's virtual disks using the "R" command: 1. **Locate the Host Folder:** The host folder is the directory on your computer where the emulator's files are stored. It's the directory you use to launch the emulator. You'll need to place the files you want to transfer into this directory. 2. **Transfer the Files:** Once you've placed the files you want to transfer into the host folder, you can use the "R" command from within the CP/M environment to read those files into CP/M's virtual disks. The syntax of the command might look something like this: ``` R:=HOSTFILENAME.EXT ``` Replace `R` with the appropriate disk drive letter within CP/M (e.g., A, B, C, etc.). `HOSTFILENAME.EXT` should be replaced with the actual name and extension of the file you want to transfer. For example, if you want to transfer a file named "PROGRAM.COM" from the host folder to drive A in CP/M, you would use a command like this: ``` A:=PROGRAM.COM ``` Make sure to adjust the drive letter and filename as needed. 3. **Verify the Transfer:** Once you've entered the "R" command, the file should be read from the host folder and transferred into the specified CP/M drive. You can then use standard CP/M commands to access, execute, or manipulate the transferred files. Remember that the exact process might differ depending on the emulator you're using. Some emulators might require you to specify the host folder explicitly, while others might automatically look in the emulator's launch directory. If you're having trouble locating the host folder or transferring files, I recommend referring to the documentation or user manual of the specific emulator you're using.

2.)How do you make another drive, A & B disk are there already. But I want to make C, D, E, & F as well.
In a CP/M environment, you can create additional virtual drives by allocating space for them and then formatting them. Here's how you can create new drives C, D, E, and F: 1. **Allocate Space:** First, you need to allocate space for the new virtual drives. This space can be allocated from a file or a portion of your host filesystem. In your case, let's assume you want to allocate space from your host filesystem. 2. **Create Directories:** Once you've allocated space for the new drives, you'll need to create directories within those drives. Each drive letter will correspond to a directory. You mentioned that you already have a "./disksort/" directory, so you're already familiar with this concept. 3. **Format the Drives:** After creating the directories, you need to format the new drives using the `PIP` utility (Peripheral Interchange Program). The `PIP` utility allows you to copy files to and from devices, including formatting drives. Here's an example of how you might create new drives C, D, E, and F: Assuming you've allocated space for the new drives and you have the directories ready within the emulator's launch directory: 1. **Allocate Space:** If you haven't already, create directories within the emulator's launch directory for the new drives. For example, create directories named `DISKC`, `DISKD`, `DISKE`, and `DISKF`. 2. **Format the Drives:** Use the `PIP` utility to format the new drives. You can do this from the CP/M command prompt: ```plaintext A>PIP C:= A>PIP D:= A>PIP E:= A>PIP F:= ``` After running these commands, CP/M will ask if you want to format the drives. Confirm the formatting process. 3. **Access the New Drives:** Once the formatting is complete, you can access the new drives just like you do with drives A and B. For example, you can use commands like: ```plaintext C>DIR D>DIR E>DIR F>DIR ``` These commands will show the contents of the directories on drives C, D, E, and F, respectively. Remember that the exact steps might vary depending on the emulator you're using and any specific setup requirements. It's recommended to refer to the documentation or user manual of your CP/M emulator for precise instructions on how to create and format new drives.

3.) I have .DSK's from my myz80, can I use then in YAZE, if so how do I get them to work?
Yes, you can use .DSK files created with your MyZ80 emulator in YAZE. A .DSK file typically represents a CP/M disk image, and YAZE is another CP/M emulator, so the transition should be relatively straightforward. Here's how you can use your .DSK files with YAZE: 1. **Copy .DSK Files to YAZE's Directory:** First, make sure you have the .DSK files from your MyZ80 emulator available on your system. Place these .DSK files in the directory where you have YAZE installed or where you're running YAZE from. This is the directory where YAZE will look for disk images. 2. **Start YAZE Emulator:** Launch the YAZE emulator. This might involve running a command like `yaze -r` or similar, depending on your system. 3. **Mount .DSK Files:** In YAZE, you'll need to "mount" the .DSK files to virtual drives just like you would in MyZ80. The syntax for mounting a .DSK file in YAZE is similar to: ``` MOUNT D:=DSK_FILENAME.DSK ``` Replace `D` with the drive letter you want to use (C, D, E, etc.), and `DSK_FILENAME.DSK` with the actual name of your .DSK file. 4. **Switch to Mounted Drive:** After mounting the .DSK file, switch to the corresponding drive using the drive letter you chose in the `MOUNT` command: ``` D: ``` 5. **Access Files:** Once you've switched to the mounted drive, you can use standard CP/M commands to access the files on that disk. For example: ``` D>DIR D>LOAD FILENAME.COM D>RUN FILENAME ``` Adjust the commands based on the filenames and actions you want to perform. 6. **Unmount the Disk (Optional):** When you're done using a mounted disk, you can unmount it using the `UNMOUNT` command: ``` UNMOUNT D: ``` This will make the virtual drive available for other .DSK files. Remember that the specific steps might vary depending on the exact version of YAZE you're using and any configuration settings you might have. If you encounter any issues or need specific instructions for your YAZE setup, I recommend referring to the YAZE documentation or user manual.
 
  • Wow
Reactions: rSl
Back
Top