The new core works so well - we can play French obscure RPGs now!
Apple II Core
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Apple II Core
- Attachments
-
- MuryadenII_b.png (91.34 KiB) Viewed 11858 times
-
- MuryadenII_a.png (286.29 KiB) Viewed 11858 times
Re: Apple II Core
alanswx wrote: ↑Sat Jul 15, 2023 7:31 pmThis version fixes the reset button (F2) and allows reboot and self-test. This also adds the option to load 8k video roms from here: https://downloads.reactivemicro.com/App ... Dual-Euro/
There is also a video rom option like the switch that was on non-US Apple IIe's so you can switch between US and UK mode (unless you load the French or German rom, and then it is between LOCAL and US mode)
Thanks @alanswx
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
alanswx wrote: ↑Sat Jul 15, 2023 7:31 pmThis version fixes the reset button (F2) and allows reboot and self-test. This also adds the option to load 8k video roms from here: https://downloads.reactivemicro.com/App ... Dual-Euro/
There is also a video rom option like the switch that was on non-US Apple IIe's so you can switch between US and UK mode (unless you load the French or German rom, and then it is between LOCAL and US mode)
Thanks! This core is really great! A couple of observances. I prefer the "Normal" pixel clock. The "Double" causes artifacts. Changing the Aspect Ratio briefly stops the keyboard from responding. No big deal. There is no need to press Control when using reset. It would be cool to have an option to require this in the core menu.
What are the 8k video roms for?
I will update my list at the top of page 7, and below.
Also, can't wait for the IIgs core now.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
Thank you for all the awesome progress. Here is what is left on my wishlist in order of my opinion of importance or value add:
- Add Mouse support (Dazzle Draw). This alone would be huge because my Apple IIc ball mouse is, well, a ball mouse.
- Add a No Slot Clock if one is not already there
- Add separate volume controls for the Mockingboard and the internal speaker. It would also be cool if there were keys for this like F5/F6, F7/F8 for down/up.
- Add support for a second Mockingboard for Ultima V. The volume for this should be at the same level as the other Mockingboard.
- The backspace should print a "Checkered Square" symbol, not act as the left arrow key. Make this a configurable option in the core menu.
- Add an option in the core menu to "Require Control Key for Reset"
- Add a 1.5x, 2x, 3x and 4x turbo option. Sometimes having faster speed is desirable (I'm looking at you Rampage!)
- Very low priority, but add an Apple IIc and Apple IIc+ option to the core with the ability to replace the ROM with a ROM 4x / 5x chip.
- Option to save mounted .DSK and other files as .NIB with the same prefix file name when writing occurs. Alternatively and perhaps better, option to convert the files as they are read in to .NIB and removing the original or moving it to a backup folder or .bak extension. I found this DSK2NIB program compiled by Newsdee earlier in the thread that could be used manually in the meantime: viewtopic.php?p=49611#p49611
- Prevent the possibility to mount the same disk in both drives.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Apple II Core
thorr wrote: ↑Sun Jul 16, 2023 8:39 pmWhat are the 8k video roms for?
- Add Mouse support (Dazzle Draw). This alone would be huge because my Apple IIc ball mouse is, well, a ball mouse.
- Add a No Slot Clock if one is not already there
- Add a 1.5x, 2x, 3x and 4x turbo option. Sometimes having faster speed is desirable (I'm looking at you Rampage!)
- Very low priority, but add an Apple IIc and Apple IIc+ option to the core with the ability to replace the ROM with a ROM 4x / 5x chip.
The loadable ROM is to switch built-in languages. European Apple IIes would come with a new video ROM that can toggle between languages by a physical switch in real time. It's rather crude - all it does is switch ROM banks to support two sets of characters (e.g. US and UK, or US and FR, US and DE, etc...). But many programs heavy on texts (and cracks, docs, etc) would rely on it. So it's a super nice addition to have! There is even an enhanced ROM with a slightly different (English) character font if you want to try something different.
As for features:
No-slot clock feature is already there, Alan already added it.
Mouse would be neat, but I understand it's a lot of work to get running.
Overclock to 4Mhz (Apple IIc+) and 2Mhz (Apple IIe card) would be great (but not sure if feasible)
I'd personally like to tweak colors a bit; but that's something that maybe I can do...
Apples had a Z80 expansion card, not sure if any games use it
Not sure what other //c - specific features would be really needed;
there were 800K disks but I guess most games came out on 128K floppies anyway
For .NIB I guess the main issue is having to run an external program to convert... but one possibility (that doesn't need any dev work) would be for the community to create a repository of save disks already in .nib format, pre-formatted for various games. I started something a while back: https://github.com/Newsdee/apple2saves so feel free to contribute!
I'll admit that for me having a compatible Apple //e is more than enough than an exact replication. And the core is already there except for a few minor things now. It's easier for users to just set a few overall settings that can run everything, rather than remembering which model to use.
Yes
-
- Top Contributor
- Posts: 1323
- Joined: Thu Jun 11, 2020 2:31 am
- Has thanked: 15 times
- Been thanked: 213 times
Re: Apple II Core
I think it would be better to have MiSTer Main transparently convert between DSK and NIB the way the C64/C128 core does to prevent confusion and improve usability.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Apple II Core
If anybody wants to play Wizardry 1, then I can recommend using the latest recompiled version (Apr 9th 2023):
https://www.zimlab.com/wizardry/
It fixes many things and works fine with the new MiSTer core.
As a small caveat, it also fixes some cheat hacks (e.g. bishop XP cheat) but you can still enjoy the game without that anyway
The only other version of Wizardry I managed to get working is a "patched 40 columns" version from Asimov.
Other versions of the game hang after the title screen.
I suspect the reason these 40-columns and Recompiled versions work is because they remove the write-only check on boot disk.
The core currently doesn't support making a disk read-only; but it isn't strictly needed if you know which version to use.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
Newsdee wrote: ↑Mon Jul 17, 2023 2:59 amThe loadable ROM is to switch built-in languages. (snip)
As for features:
No-slot clock feature is already there, Alan already added it.
Mouse would be neat, but I understand it's a lot of work to get running.
Overclock to 4Mhz (Apple IIc+) and 2Mhz (Apple IIe card) would be great (but not sure if feasible)
I'd personally like to tweak colors a bit; but that's something that maybe I can do...
Apples had a Z80 expansion card, not sure if any games use it
Not sure what other //c - specific features would be really needed;
there were 800K disks but I guess most games came out on 128K floppies anywayFor .NIB I guess the main issue is having to run an external program to convert... but one possibility (that doesn't need any dev work) would be for the community to create a repository of save disks already in .nib format, pre-formatted for various games. I started something a while back: https://github.com/Newsdee/apple2saves so feel free to contribute!
I'll admit that for me having a compatible Apple //e is more than enough than an exact replication. And the core is already there except for a few minor things now. It's easier for users to just set a few overall settings that can run everything, rather than remembering which model to use.
Thanks for the info on the loadable ROM's. Sounds like it is a great feature to have if you play the games that need it. Great!
That's awesome about the No Slot Clock. It must have been recently added. I haven't tested for it in the latest builds.
I really hope we can get mouse support. I use the mouse a descent amount, for programs I write and Dazzle Draw.
Regarding the colors, this was talked about previously in this thread, and I am pretty sure the colors are accurate, even though they look incorrect to me too. Actually looking back on page four of this thread, it was you that helped convince me they were correct, lol.
I don't really know what a Z80 card would be used for. If there is a reason, then cool.
Yeah 3.5" disks are a thing (Rampage). I didn't try these on the core.
The main thing about Apple IIc that is different that I care about is it supports programming in Double Lo-Res graphics much easier in BASIC. Also, the mouse is different I think too. It uses the joystick port.
Thanks for all the feedback!
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Apple II Core
thorr wrote: ↑Mon Jul 17, 2023 4:39 am[Actually looking back on page four of this thread, it was you that helped convince me they were correct, lol.
I don't really know what a Z80 card would be used for. If there is a reason, then cool.
Yeah 800K disks are a thing (Rampage). I didn't try these on the core.
I found out the problem - it was me I'm mostly using the core on an old VGA screen with brighter settings and as a result had Gamma dialed way up (which makes everything darker on MiSTer screen shots).
The core colors were based on an old detailed post done in comp.sys.apple2 so a priori are correct. I could do my own build with my own selected colors... but these can be subjective; I don't want to end up in a situation like the NES where we need palette files to cater for everybody
For 800K disks I wonder if we could convert them to hard drive instead; but it's a niche use case - like the Z80 card.
-
- Posts: 5
- Joined: Fri Apr 09, 2021 3:30 pm
- Has thanked: 3 times
- Been thanked: 1 time
Re: Apple II Core
The Z80 card is basically to use the cpm operating system with 80 columns. Widely used at the time. Microsoft sold thousands of cards.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Apple II Core
Malaespera wrote: ↑Mon Jul 17, 2023 6:20 amThe Z80 card is basically to use the cpm operating system with 80 columns. Widely used at the time. Microsoft sold thousands of cards.
Just remembered that CP/M already runs on the Multicomp core on MiSTer;
was there something special about the Apple version?
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
In general (MiSTer Main), it would be cool if there were color controls like saturation, etc. that could be saved per core. Maybe this already exists. Then people could change them to whatever they want (even though it would almost be guaranteed to be inaccurate).
3.5" disks are the main disks of the Apple IIgs, so it certainly doesn't hurt to support them because the technical knowledge and maybe some code can be used in the IIgs core. The same goes for the mouse. I am not sure if there are differences though. I had an external 3.5" drive on my Laser 128EX as a kid and it was awesome! You could hold so many programs on one disk, and they seemed to be less prone to read and write errors.
Thanks Malaespera for the Z80 card info. I know absolutely zero about CP/M. Never saw it, don't know what it even is. I will have to look into for curiosity's sake.
-
- Top Contributor
- Posts: 1323
- Joined: Thu Jun 11, 2020 2:31 am
- Has thanked: 15 times
- Been thanked: 213 times
Re: Apple II Core
CP/M was like the DOS of the 1970s and very cross-platform...it was supported on two major categories of CPU and by many, many manufacturers. In fact, some of the command and device structure of QDOS/86DOS (later renamed to MS-DOS) is derived directly from CP/M.
- Newsdee
- Top Contributor
- Posts: 873
- Joined: Mon May 25, 2020 1:07 am
- Has thanked: 104 times
- Been thanked: 239 times
Re: Apple II Core
Right but the core also support hard drives - you can just mount a 32MB hard drive and store whatever you want in it
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
Yeah, I already transferred all my important stuff from my floppies to a hard drive image. It's just nice to have the option to use 3.5" disks for the sake of completeness of the core and being able to use any disks with it. It's not on my wishlist though. Maybe I should add it.
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Apple II Core
In this version I am trying to figure out write protect. I think it will write protect D1 and/or D2 based on the OSD.
- Attachments
-
- Apple-II.rbf
- (3.56 MiB) Downloaded 287 times
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
Thanks for continuing to work on and perfect this awesome core! For the write protect, you should just be able to code in a piece of tape I think.
Re: Apple II Core
I have no experience with Apple computers but tested the Wizardry game, which someone mentioned hung after the intro, and it works. Waiting to hear some more informed observations though
Thanks @alanswx. It's details like that which makes a Cores feel more "authenic" and also makes it more usable.
Re: Apple II Core
Thanks for this wonderful core! Having grown up and learning to program on the Apple //e, it makes me happy to see that there's project like this that allow the software to remain accessible to folks today.
If it helps, here are some notes on implementing Apple emulation features in no particular order (caveat: I authored a cycle-accurate Apple //e emulator years ago and am in the process of refurbishing it...)
1) 3.5" disks and hard drive support are basically the same thing, only difference is disks are 800kb in size and hard drive images can be up to 32mb. So if you have one, you have the other. Simply implement two controllers and have one in, say, slot 5 that takes the 800kb disk images with the same firmware. Side note: When in doubt, assume prodos-ordering on the sectors. (e.g. 800kb DSK should be treated as a PO file)
2) Supporting two mockingboards for Ultima 3-5 is not a bad idea, but really it's a better idea to use one slot and support Phasor. The way it works is that there are two 6522 chips on it, and the second chip simply responds to a different set of I/O register memory locations. Whereas the first one is at Cx00-Cx0F, I believe the second 6522 is at Cx80-Cx8f. I don't think the second 6522 was capable of sending timer interrupts though, but I'm not 100% sure. At any rate nothing would have used the second 6522's timers more than likely.
3) If you want to really test the cycle accuracy of the emulator, run some French Touch demos on it. Crazy Cycles and Crazy Cycles 2 would be a good start.
4) Mouse support is odd, but not impossible. Two ways you can do it are to emulate the card and the mouse at low-level, or implement something which acts like the card and handles the necessary stuff at a high-level. I took the later approach, where I set execution traps on the firmware routines and had high-level emulation do the work of updating screenholes to mimic what the firmware does. I took a similar approach for smartport/hard drive emulation as well. https://github.com/badvision/jace/blob/ ... Mouse.java
5) Overclock CPU is do-able but you need to rectify the fact that I/O and Video run at 1mhz. A simple solution for this is to run X CPU cycles per 1mhz motherboard tick. This should allow you to get at least up to 8mhz which is more than sufficient.
6) //c emulation isn't a simple jump. Though a //c and emulated //e are very similar in many ways, the rom firmware layout of the //c and some of the I/O behavior are very different (especially vertical retrace and floating bus behaviors!) -- and there were 3 or 4 board/rom variations of the //c as well so you have to decide which version of the //c you want to emulate (such as the "Rom 255" aka first version) or the later memory-expandable versions.
7) Z80 support is interesting but realistically you didn't find a lot of software other than business/scientific software that used it. Certainly no games, not even graphics packages.
8) If you use NTSC color emulation logic, then tweaking the YU'V color parameters should be a pretty easy feature to add.
9) Adding Super-serial support might be a neat idea. One way you could do it is emulate the 6522 at a low-level and wire the ports to a host process that listens on, say, port 1977. This would allow people to telnet into the emulation or let the emulator connect out. Another possibility is some other kind of expansion option such as those used by SNAC adapters to connect other controllers. I'm kind of brainstorming here, I'm not sure what is the most feasible option to be honest.
Thanks again and good luck with this core!
-Brendan
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Apple II Core
badvision wrote: ↑Wed Aug 02, 2023 4:51 pm1) 3.5" disks and hard drive support are basically the same thing, only difference is disks are 800kb in size and hard drive images can be up to 32mb. So if you have one, you have the other. Simply implement two controllers and have one in, say, slot 5 that takes the 800kb disk images with the same firmware. Side note: When in doubt, assume prodos-ordering on the sectors. (e.g. 800kb DSK should be treated as a PO file)
Good to know -- I need to try this.
badvision wrote: ↑Wed Aug 02, 2023 4:51 pm4) Mouse support is odd, but not impossible. Two ways you can do it are to emulate the card and the mouse at low-level, or implement something which acts like the card and handles the necessary stuff at a high-level. I took the later approach, where I set execution traps on the firmware routines and had high-level emulation do the work of updating screenholes to mimic what the firmware does. I took a similar approach for smartport/hard drive emulation as well. https://github.com/badvision/jace/blob/ ... Mouse.java
Gyurco was looking at emulating the original chip/firmware. I was thinking about using your approach. I would love some help. I have the iie running in verilator so we can simulate the whole thing in software.
badvision wrote: ↑Wed Aug 02, 2023 4:51 pm9) Adding Super-serial support might be a neat idea. One way you could do it is emulate the 6522 at a low-level and wire the ports to a host process that listens on, say, port 1977. This would allow people to telnet into the emulation or let the emulator connect out. Another possibility is some other kind of expansion option such as those used by SNAC adapters to connect other controllers. I'm kind of brainstorming here, I'm not sure what is the most feasible option to be honest.
I already have super serial support with a 6522 chip implemented. I was able to get proterm to run.
Re: Apple II Core
Would it be possible to port this core to the basic MiST? Or is it too big? Not begging for ports, just curious.
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Apple II Core
Gyruco has a iie core for MiST. My last floppy changes came from that core. It should be in really good shape, possibly still better than MiSTer.
Re: Apple II Core
Oh okay. From what I read, the MiST A2 core didn't support harddisk images? But this one does? I could be wrong.
-
- Core Developer
- Posts: 300
- Joined: Sun May 24, 2020 6:55 pm
- Has thanked: 5 times
- Been thanked: 154 times
Re: Apple II Core
dakidski wrote: ↑Mon Aug 07, 2023 4:19 pmOh okay. From what I read, the MiST A2 core didn't support harddisk images? But this one does? I could be wrong.
That is possible. I don't think Gyruco brought over the clock card, or serial port either. Not sure how serial works on MiST.
- HerrBerzerk
- Posts: 273
- Joined: Tue Feb 01, 2022 1:45 pm
- Has thanked: 122 times
- Been thanked: 39 times
Re: Apple II Core
Can someone tell me how to switch to Joystick on the game Bandits? According to the Boxart, Joystick is supported but I don't get it working.
On Loderunner e.g. you have to press CTRL-J... but I did not find any hint on (Apple)-Bandits.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
HerrBerzerk wrote: ↑Fri Aug 18, 2023 5:36 pmCan someone tell me how to switch to Joystick on the game Bandits? According to the Boxart, Joystick is supported but I don't get it working.
On Loderunner e.g. you have to press CTRL-J... but I did not find any hint on (Apple)-Bandits.
If you have $275 to spare, you can buy this, and it comes with the manual: https://www.ebay.com.my/itm/195027897285
Otherwise, try Control Shift P. I can't try this myself right now, and I have no idea if that is for the emulator or if it will work for the game. I found it here: https://mednafen.github.io/documentation/apple2.html
- HerrBerzerk
- Posts: 273
- Joined: Tue Feb 01, 2022 1:45 pm
- Has thanked: 122 times
- Been thanked: 39 times
Re: Apple II Core
[/quote]
If you have $275 to spare, you can buy this, and it comes with the manual: https://www.ebay.com.my/itm/195027897285
Otherwise, try Control Shift P. I can't try this myself right now, and I have no idea if that is for the emulator or if it will work for the game. I found it here: https://mednafen.github.io/documentation/apple2.html
[/quote]
WOW. 275 is a lot I give it a try later, thanks. I did search myself but was not able to find something.
- HerrBerzerk
- Posts: 273
- Joined: Tue Feb 01, 2022 1:45 pm
- Has thanked: 122 times
- Been thanked: 39 times
Re: Apple II Core
thorr wrote: ↑Fri Aug 18, 2023 8:33 pmIf you have $275 to spare, you can buy this, and it comes with the manual: https://www.ebay.com.my/itm/195027897285
Otherwise, try Control Shift P. I can't try this myself right now, and I have no idea if that is for the emulator or if it will work for the game. I found it here: https://mednafen.github.io/documentation/apple2.html
WOW. 275 is a lot I tried CTRL-P (CTRL Shift P) and it did switch to joystick but the joystick was always steering to right. Tried every combination, no luck. I guess it's a weird joystick adapter analog to digital adapter thing that I don't figure without manual so I leave it like it is, not worth sinking more time in it Thanks anyway.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: Apple II Core
HerrBerzerk wrote: ↑Sat Aug 19, 2023 11:30 amWOW. 275 is a lot I tried CTRL-P (CTRL Shift P) and it did switch to joystick but the joystick was always steering to right. Tried every combination, no luck. I guess it's a weird joystick adapter analog to digital adapter thing that I don't figure without manual so I leave it like it is, not worth sinking more time in it Thanks anyway.
My guess is there is another key combination for the normal joystick.
You can probably just temporarily map the joystick to the keys in the game using the mister menu.