Apple II / Apple IIgs Emulator?
Chris C. (2322) 197 posts |
Does anyone know if there were any Apple II or IIgs emulators ported to RISC OS? |
David Feugey (2125) 2709 posts |
Woz comes with source code. Unfortunately, Benoit will not help for a 32bit port, since he died last year. But it’s mainly C. |
Chris Gransden (337) 1207 posts |
I did a quick port of Kegs. |
Chris C. (2322) 197 posts |
Can I try it Chris? |
Chris Hall (132) 3566 posts |
Wow! Chess with snakes and ladders. |
Chris C. (2322) 197 posts |
Battle Chess! |
Grahame Parish (436) 481 posts |
With full animations??? |
Tristan M. (2946) 1039 posts |
You got my attention. I couldn’t get the damn thing to build. I don’t have the space to set up my IIgs or //e Platinum. I miss ProDOS and GS/OS. e: I don’t miss DOS3.3 though. But the games were good. |
Paolo Fabio Zaino (28) 1882 posts |
@David Feugey:
Ok so, I did the full old C conversion to latest DDE and 32bit libs and I can confirm it builds fine on RISC OS 5.27 on my Mini.M. !Woz starts and tries to load the ROM. I still need to convert the ASM files, there are quite few STMFD which needs reworking. It’s 2:16am now, I am fried after a very long week at work, so I’ll look into it again tomorrow if I have time. !Woz was freewere and Benoit gave permissions to redistribute the Emulator with all the files, so I’ll finish the porting and put everything on my github.com, I think we should also add a note in his memory to the code if someone wants to help me with a good English writing :) I’ll also package it for distribution for general users, what would be the best/favourite distribution these days? RiscPkg or PlingStore (or both), or just a zip and URL link? Hope this will make someone happy here :) |
David Feugey (2125) 2709 posts |
Yep :) Nota: Benoit made also another emulator: Trash80, for TRS80. For copyright, don’t worry. I can easily contact his family. A zip would be cool. |
Paolo Fabio Zaino (28) 1882 posts |
@ David Feugey: Ok posted all the sources with the initial C fixes for latest DDE and 32bit on my github. Will try to do some more work tonight on the ASM.
Sure, I actually would love to have a TRS80 Emulator on my Mini.M and co. will have a look when the Apple port is completed.
Great! can I just ask you to verify this please, a written note or something would be best. Sorry for being annoying, but these things can potentially get “naughty”, so just want to be sure, that’s all. Also does anyone has the Floppy1 format accepted by the Woz Emulator? I managed to find a ROM image for the IIe to test code, but I don’t have the tools mentioned by Benoit to image the DOS 3.3 or ProDOS disk.
Ok, a zip will be then :) |
Paolo Fabio Zaino (28) 1882 posts |
Ok started to work on the ASM conversion. Also saw today there were like 6 unique cloners: Guys JFYI, the thing is still UNTESTED also because I do not have yet a DOS 3.3 or ProDos floppy image in the format required by the Woz. Anyway the code now is in a better shape, so feedback and help finding the right Floppy image are very much welcome :) Here it’s 3:23am so I am out for the day. |
Chris C. (2322) 197 posts |
What is the format required for the disk? |
Paolo Fabio Zaino (28) 1882 posts |
@ Chris C. The original documentation from Benoit talks about a serial port based transfer, I do not have an Original Apple II (I have a hardware reproduction on FPGA), so most likely my disk images aren’t compatible unless converted with the same approach. Anyway Benoit talks about converting them using RS232 to a PC or an Amiga (I do have both) using CrossWorks 2.0 and !PCDir and then from that move the files to the Archimedes via MSDOS Floppy. I do not have CrossWorks 2.0 nor !PCDir. The format may be known as ProDOS files (but I am not 100% sure) and the C source code reads them directly as files and in a serial fashion, so not much info from the C source on the specific format, but it appears a raw image, unless crossworks does something I am not aware of. It’s should be fairly simple, however I want to make sure I have the right one to avoid having to test with the wrong format that may lead to emulator freezes which I could think caused by my changes, while they are caused by wrong bytes in memory. The emulator tends to freeze RISC OS so not the safest code ever right now. For more details please look at the source on my github: Manual file and for the source code look at the file EmuOp in c, function stack starting from MyReconDrive function. And thanks for offering some help, appreciate it :) |
Willard Goosey (5119) 257 posts |
(I’m not an AppleII guy, especially not an AppleII emulator guy, but the Internet tells me) |
Chris C. (2322) 197 posts |
I’ve got an Apple IIgs next to me on my desk, I read through the website yesterday and he still doesn’t explain what format it’s in. I have ProDos disks. I would like to try to compile but have never compiled on RISC OS, just Linux/macOS. I’ll see if I can get GCC installed. |
Paolo Fabio Zaino (28) 1882 posts |
@ Chris C.
It’s very easy, I added all you need so it’s a one-mouse-click only operation, I also replaced in the source all RISC OS libs and the way they were included to make sure it uses regular ROOL DDE libs and using their path. BEFORE YOU START: Make sure you have an updated ROOL DDE AcornC/C++ compiler suite :) So all you have to do is:
2) Then share the cloned repository via Samba Server (both macOS and Linux has it, look for instruction for your specific linux distro on how to install and share directories via SMB). 3) Finally on your RISC OS machine (for real RISC OS HW) run Omniclient and connect it to your shared directory of point #2 and voila' you can build from RISC OS over OmniClient. To start the building process:
b) [SHIFT] + [LEFT MOUSE] Click on the !Woz directory, you'll find in there a file I have created called BuildDDE, double click on it and it will build for you. BuildDDE configs all is needed for you and asks amu to show warnings and errors via throwback window, so you can click on them to open the corresponded source file at the line that caused the error and fix it, save and repeat the build. If you really do not want to build or you do not have ROOL DDE then still don’t worry, the repo comes with pre-built binaries. For who doesn’t know what to do with the ASM conversion from 26bit to 32bit I added a simple but relatively effective trick to the objasm build procedure which will help you to identify which instructions and code sequences have to be replaced/converted to be fully 32bit compliant ;) Also in the case of converting ASM from 26bi to 32bit the warning messages will appear in throwback window, so all you have to do is click on the warning to open the correspondent file with the issue to be solved and solve it. So super handy! Anyway, I’ll do some work on the ASM this weekend if I have time, it still needs 32bit conversion, while the C sources are all done and build fine with latest ROOL DDE (and use the right libraries). FEW IMPORTANT NOTES:
- If you want to submit a change please open a branch, push your changes and open a Pull Request. Everyone's help is always very welcome :) - If you are not a coder and just want to test stuff, then wait until is "user-test-able" and your feedback is always very welcome! - If you want to use git from RISC OS over Linux/macOS it's simple: Download Nettle and run an ssh connection from your RISC OS machine to your Linux/macOS (obviously before to do that make sure your Linux/macOS accept ssh connections!) If I have time and if people are interested, I could make a video of how to use git via linux on a Rpi from RISC OS etc. and how to set up this type of building environments and put it on YouTube (just let me know if it may be of interest) Hope this helps. |
Paolo Fabio Zaino (28) 1882 posts |
@ Willard Goosey
Yes, but not sure Woz is using any of them, anyway I’ll try them all when the ASM part looks completed, so thanks a lot for your help! :) |
jan de boer (472) 78 posts |
FWIW, there seem to be many discs, mainly 140, 800K here: |
Paolo Fabio Zaino (28) 1882 posts |
@ Jan De Boer
Awesome! Thanks a lot! :) |