Apple II+ core update

And another one for today. Also the MiST Apple II+ core got a small update.
I’ve added analog joystick support which is a new feature of the recent firmware. It’s only supported for usb joysticks and not for DB9 joysticks.
I’ve added the possibility to swap joysticks via OSD. This way the usb joystick becomes joystick 0 and can be used instead of the DB9 joystick to play the games.
Unfortunately the analog joystick support is currently untested as I don’t own one.


6 thoughts on “Apple II+ core update

  1. Bill says:

    How much work do you think it would take to add disk writes? Would love to play some of the old Ultima games on this, but they require disk updates to work properly. It sounds like you mirror the NIB to ram; could you dump it back to the SD card when you open up the OSD disk change dialog? Thanks for all of your efforts to date!


    • WiSo says:

      ATM I consider myself as beginner with fpga stuff. Meaning I’m able to port some stuff and doing easy changes. Unfortunately adding write support for the disk is beyond my capabilities. Afaik the other Apple ports don’t have it as well. Then you would need to alter the firmware to allow dumping the nib back.
      This would be a lot effort and it would be much cleaner then to directly let the port talk to the sd card but this would have other issues like either make the core understand fat filesystems or raw dump it which isn’t nice either.

      • Bill says:

        Got it — sounds like SD read functionality is baked into the firmware, but no write support. Just took a quick look at the code (I’m just a VHDL novice myself); can you turn on in-memory writes so you can “update” the selected disk, but it can’t be written back to the SD card? This would at least allow some more functionality. It wasn’t clear to me if the entire disk NIB gets transferred into memory, or it is only a track buffer. Thanks!


        • WiSo says:

          Almost 🙂
          Till wrote some interfaces to allow the cores to use several features of the platform. One is a SD card interface which supports reading and writing like the Terasic boards but its done via the firmware.
          Another interface is to allow file selection and to upload it to block- or sdram. Since block ram is limited I used the sdram to upload the nib image.
          Allowing writes to memory is possible but you have to implement the “hw” to do so. Afaik the current implementation doesn’t support it. Have a look at disk_ii.vhd and you can see whats done for “reading”.

Leave a Reply

Your email address will not be published. Required fields are marked *