Apple II DISK Emulator using STM32

275 posts / 0 new
Last post
Macintosh_nik's picture
Offline
Last seen: 10 hours 35 min ago
Joined: Jan 8 2021 - 05:18
Posts: 467
Hi VIBR!

Congratulations, great job!

Offline
Last seen: 10 hours 58 min ago
Joined: Mar 12 2023 - 16:49
Posts: 23
Z80 /CPM

You have rearly done some great development work on this project.

I will just have to wait until I can get my hands on this emulator , to see if it can work with a boot disk  that come with my Z80 card as at the momoment the only way I can boot the card is from a standard disk2 floppy drive. 

regards

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
thanks, I am rearranging the

thanks, 

I am rearranging the GPIO to enable USB. I plan to issue a first hardware version within a 2 weeks to stabilize the curcuitery

 

Offline
Last seen: 2 months 3 weeks ago
Joined: Nov 25 2022 - 09:21
Posts: 1
I came to this post searching

I came to this post searching for new options for disk emulation in Apple II and am quite surprised how you all exchanged data/knowledge to make this happen.Hope to see the final (or first run) project soon!Cheers!

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello All, Quick update on

Hello All, 

Quick update on this project, 

I have ordered the first pcb for REV.1 and I am still working on :

- write process for WOZ1.0 and WOZ2.0

- ux on OLED screen

- spiradisc protection,

- packaging firmware with usb mass storage bootloader

 

If the first pcb is working then I will release the full project with gerber, and ...

 

The wait should not be long now (I hope)

 

Rev 2 will bring support for 2 sdcard for the 2 disk 

 

Vincent

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello All, I just received

Hello All, 

I just received the first draft PCB ;)

and it is working, there is still a lot to be done, I have a bunch of debug pads to continue toward a stable release 

 

 

more to come

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello All, It was my

Hello All, 

It was my commitment at the beginning of this unfinished journey to provide to the community an opensource project < 10$

I have publish the source here https://github.com/vibr77/AppleIIDiskIIStm32F411

Please not this is still beta, and hardware design might still evolve, but if you want to help & contribute...

Vincent

 

Offline
Last seen: 10 hours 58 min ago
Joined: Mar 12 2023 - 16:49
Posts: 23
SD Card formatting under windows 10/11

Hi Vincent,

The formatting of SD cards to specific requiremnts can be a problem in Windows 10/11. 

I wonder if it would be possible to have an option in the emulator's software to pre-format an SD card.

Generally once the  SD card is low level formatted, Windows 10/11 will read and write without a problem

 

Thank you so much for realeasing the software and hardware to public domain.

 

Will you be selling emulators ?

I would glady pay a sum that covers costs, postage and profit for you, it would go some waty to rewarding you for all your efforts getting to this point

Regards

Crusty

CVT
CVT's picture
Offline
Last seen: 3 hours 45 min ago
Joined: Aug 9 2022 - 00:48
Posts: 1175
Crusty wrote:Hi Vincent,The
Crusty wrote:

Hi Vincent,

The formatting of SD cards to specific requiremnts can be a problem in Windows 10/11. 

...

 

Not a problem - to format microSD cards larger than 32 GB with FAT32, simply use guiformat.exe:

http://ridgecrop.co.uk/index.htm?guiformat.htm (to download click on the screenshot)

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello, I will add a config

Hello, 

I will add a config panel with FAT format option, 

but for now I am struggling with UF2..

If someone has some skills with UF2 & STM32 & tinyuf2, I need help...

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Ok the problem with the UF2

Ok the problem with the UF2 is fixed, 

Now I have a bootloader to burn on the flash once and firmware that can be drag & drop easily for upcoming update. 

I have also a mkfs feature to format SD Card, 

I have to change the clock configuration because the bootloader using USB can only run PLL at 48Mhz (25*384/8) otherwise it crash the bootloader...

So i change a bit the timer setting in the firmware.

I change also the UART port config on the bootloader. 

I will do some testing, but I guess it will much more easier to update the black pill for the community

Vincent

 

 

Intel8051's picture
Offline
Last seen: 2 weeks 4 days ago
Joined: Sep 28 2024 - 19:58
Posts: 7
VIBR wrote:Ok the problem
VIBR wrote:

Ok the problem with the UF2 is fixed, 

Now I have a bootloader to burn on the flash once and firmware that can be drag & drop easily for upcoming update. 

I have also a mkfs feature to format SD Card, 

I have to change the clock configuration because the bootloader using USB can only run PLL at 48Mhz (25*384/8) otherwise it crash the bootloader...

So i

 

Hello Vincent.

Firstly, thank you for your effort in developing this project.  I have been following the development for months and I have managed to learn it.

I recently built this device and I have a few questions:

1) As soon as I turn on the computer, nothing is displayed on the OLED screen and no boot.  I always need to press the RESET button (STM32). This way the device boots normally. Is it a bug in the firmware?

2) WOZ 2.0 format is working but the NIC format is not working. Maybe it's the incompatible file. What program did you use to convert DSK to NIC?

 

Firmware Version: 0.64

BootLoader Version: 0.13

 

Thanks .

 

 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello, I have the same

Hello, 

I have the same behaviour, I will fix the WOZ 1.0 and the NIC soon as well as the screen staying black 

keep you posted, thanks for the headup

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
v0.66 released on github

v0.66 released on github should fix the NIC issue to be tested 

Vincent

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello V0.67 : Fix+ startup

Hello 

V0.67 : Fix

+ startup issue where Reset was needed

+ No screen at startup

+ more stability with NIC

+ SDCard browseing while reading track

+ Mounting new Image while reading the SDCard (interrupt blocker)

 

I hope I will increase your exp ! 

 

Vincent

 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Intel8051 wrote:VIBR wrote:Ok
Intel8051 wrote:
VIBR wrote:

Ok the problem with the UF2 is fixed, 

Now I have a bootloader to burn on the flash once and firmware that can be drag & drop easily for upcoming update. 

I have also a mkfs feature to format SD Card, 

I have to change the clock configuration because the bootloader using USB can only run PLL at 48Mhz (25*384/8) otherwi

Hello Intel8051, the last version (0.67) should address the 2 point above, 

I f you have the bootloader, just drag & drop over USB the UF2 file in the last release, let me know please if it solved the issue. 

Please note that NIC is still a bit shaky ;)

 

Intel8051's picture
Offline
Last seen: 2 weeks 4 days ago
Joined: Sep 28 2024 - 19:58
Posts: 7
v0.67

Hello Vincent.

I just installed firmware V0.67. I can confirm that the reset on startup has been fixed and the .NIC files are reading successfully.

It is a possible to mount other images without having to reset the stm32.

So far no problem has been found.

I noticed that it now has a menu on the home screen. Would the favorites option be to add favorite dsk images?

 

Thanks

Daniel

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello Daniel, Thanks for the

Hello Daniel, 

Thanks for the feeback, yes I plan to add a favorite view with an option to add and remove favorite,

As weel as a config panel to change settings,

I still have some issues: 

- WOZ 1.0 not really working, 

- some NIC file not working, 

- regression on WOZ2.0 protection such as First Math Experience, 

 

Keep this group posted

Vincent 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
V0.68 released on github It

V0.68 released on github 

It is mainly fixing the read of WOZ1.0

Enjoy

Vincent

 

Offline
Last seen: 2 days 18 hours ago
Joined: Dec 19 2008 - 21:01
Posts: 419
Just letting you know I built

Just letting you know I built one of these and it worked first try.  I am looking forward to see how it develops!

 

This also means I have some boards and spare parts if anyone is interested. (USA)

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
very good news, firmware v0

very good news, 

firmware v0.71 includes: 

- DSK Reading (to be tested)

- PO Reading

- Favorite

- Main Menu

- Config 

 

Offline
Last seen: 2 days 18 hours ago
Joined: Dec 19 2008 - 21:01
Posts: 419
Excellent. Any way we could

Excellent. Any way we could hook up a little speaker and get at least some clicks of some kind?

I know it's trivial, but part of the analog experience and has gives some hints of lockups.

A weird bug - it does not show folders if they are only one character long. I haven't tested how long they must be...

 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello Rittwage, We do have a

Hello Rittwage, 

We do have a pin that is not used (marked as debug on the REV1) and that could be wired to a small passive buzzer, 

I will try to sse if it can be done easily, 

Regarding the folder length, it might be a bug as there are a lot in still. Could you please log an issue on github ? 

Intel8051's picture
Offline
Last seen: 2 weeks 4 days ago
Joined: Sep 28 2024 - 19:58
Posts: 7
VIBR wrote:very good news,
VIBR wrote:

very good news, 

firmware v0.71 includes: 

- DSK Reading (to be tested)

- PO Reading

- Favorite

- Main Menu

- Config 

 

Hello.

Some observations regarding the latest version, I have tried over 60 disk images and so far these problems:

1) In NIC and DSK Format I am having a problem with cold booting in the games: Rescue Raiders and Skyfox. However, the game starts normally when I give the command PR#6

2) In DSK format, DOS 3.3 is not booting.

In NIC format, DOS 3.3 is working normally.

Thanks,

Daniel

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Intel8051 wrote:VIBR wrote
Intel8051 wrote:
VIBR wrote:

very good news, 

firmware v0.71 includes: 

- DSK Reading (to be tested)

- PO Reading

- Favorite

- Main Menu

- Config 

 

Hello.

Some observations regarding the latest version, I have tried over 60 disk images and so far these problems:

1) In NIC an

 

Thanks for the feedback, I will try to reproduce and to fix. 

Some of you are building the board, becareful some of the OLED display coming from alipexress might have pin VND and VCC swapped !

Vincent

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Intel8051 wrote:VIBR wrote
Intel8051 wrote:
VIBR wrote:

very good news, 

firmware v0.71 includes: 

- DSK Reading (to be tested)

- PO Reading

- Favorite

- Main Menu

- Config 

 

Hello.

Some observations regarding the latest version, I have tried over 60 disk images and so far these problems:

1) In NIC an

Can you please send me by email the image you are using, so that I have exactly the same ?

 

Intel8051's picture
Offline
Last seen: 2 weeks 4 days ago
Joined: Sep 28 2024 - 19:58
Posts: 7
VIBR wrote:Intel8051 wrote
VIBR wrote:
Intel8051 wrote:
VIBR wrote:

very good news, 

firmware v0.71 includes: 

- DSK Reading (to be tested)

- PO Reading

- Favorite

- Main Menu

- Config 

 

Hello.

Some observations regarding the latest version, I have tried over 60 disk images and so far these

Sure, check your PM.

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Well, Thanks for the image

Well, 

Thanks for the image File, 

I think, I solved the issue related to reset and as well to DOS, in fact I was applying the copy protection mecanism to NIC & DSK file (Weakbit and head position when moving track).

However, it seems that DSK conversion to NIC is still not working as expected, I need to further deep dive on it

I will publish v0.73 with the fix soon

Vincent

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello all, On github the v0

Hello all, 

On github the v0.78.1 that now support spiradisc ;)

I  would like also to support IIc via SmartPort, do someone now where I can find info on the way Smartport is working ? 

thanks 

Vincent

 

Offline
Last seen: 5 days 22 hours ago
Joined: Jan 31 2024 - 06:40
Posts: 239
VIBR wrote:Hello all, On
VIBR wrote:

Hello all, 

On github the v0.78.1 that now support spiradisc ;)

I  would like also to support IIc via SmartPort, do someone now where I can find info on the way Smartport is working ? 

thanks 

Vincent

Hi. Is everything done and polished with the DISK II emulation already? Can this be ported to one of my saved from scrappers STM32 evaluation boards?

 

 

 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
I have ordered a dozen of my

I have ordered a dozen of my board, 

if you would to make your life easier, for the price of the parts and  shipping I can send one board ? 

Offline
Last seen: 5 days 22 hours ago
Joined: Jan 31 2024 - 06:40
Posts: 239
VIBR wrote:I have ordered a
VIBR wrote:

I have ordered a dozen of my board, 

if you would to make your life easier, for the price of the parts and  shipping I can send one board ? 

Nah, no need to pollute the Earth with more main-stream low-quality uninteresting ARM derivatives. If these shown cannot fit, I will use plenty of real drives and diskettes I have and prefer, like I 've always done. My place would continue to be no floppy drive emulator zone.  I even refuzed Plamen's gifts once upon a time who was trying to equip me with some of his toys. Just was curious. F429 should me more powerful than yours, and capable of running your firmware but I am even reluctant to apply slightest effort and time to learn and port to '429. 

 

 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
I will make a version

I will make a version dedicated for the 429, just give a bit of time ;)

 

Offline
Last seen: 2 days 18 hours ago
Joined: Dec 19 2008 - 21:01
Posts: 419
Can I still use the V1 board

Can I still use the V1 board with current firmware, and where does the buzzer attach on it?

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello Rittage, firmware is

Hello Rittage, 

firmware is still working with v1 board, 

you can connect the buzzer to GND and PB14, do not forget to activate the sound in the config panel 

Vincent 

 

Offline
Last seen: 5 days 22 hours ago
Joined: Jan 31 2024 - 06:40
Posts: 239
VIBR wrote:I will make a
VIBR wrote:

I will make a version dedicated for the 429, just give a bit of time ;)

I can send you the nucleo  entirely on my expenses, if you wish. Just PM me your address.

 

 

Offline
Last seen: 2 days 18 hours ago
Joined: Dec 19 2008 - 21:01
Posts: 419
VIBR wrote:Hello all, On
VIBR wrote:

Hello all, 

On github the v0.78.1 that now support spiradisc ;)

I  would like also to support IIc via SmartPort, do someone now where I can find info on the way Smartport is working ? 

thanks 

Vincent

Just FYI, I hooked up the device to a smartport to IDC20 adapter, and I get no power at all.  I will trace down tonight with a meter and see what is happening, but maybe it is trying to use 5V (or perhaps GND) from a pin that no longer supplies it on the SmartPort (on the IIgs at least).

 

 

Offline
Last seen: 2 days 18 hours ago
Joined: Dec 19 2008 - 21:01
Posts: 419
rittwage wrote:VIBR wrote
rittwage wrote:
VIBR wrote:

Hello all, 

On github the v0.78.1 that now support spiradisc ;)

I  would like also to support IIc via SmartPort, do someone now where I can find info on the way Smartport is working ? 

thanks 

Vincent

Just FYI, I hooked up the device to a smartport to IDC20 adapter, and I get no power at all.

Not only that, but powering externally, it still doesn't boot.

Adapter tested to work fine with a real Disk ][ drive.

 

 

Offline
Last seen: 5 days 22 hours ago
Joined: Jan 31 2024 - 06:40
Posts: 239
FEATURE REQUEST: If the

FEATURE REQUEST: Indication/sniff of the TRACKS (with quartertrack resolution) and R/W of the other drive attached to the DISK II controller being it physical drive or not. This can help a lot with debugging some protections from physical media. There was similar discontinued device http://www.a2heaven.com/webshop/index.php?rt=product/product&manufacturer_id=21&product_id=127#review

Offline
Last seen: 18 hours 14 min ago
Joined: Sep 21 2024 - 15:43
Posts: 4
Just FYI, I hooked up the

Just FYI, I hooked up the device to a smartport to IDC20 adapter, and I get no power at all.&

Looks like VCC is coming from Pin 12 instead of Pin 11.  That works for Disk II cards and the IIc, but on newer machines like the IIC+ and  IIGS, that's the HDSEL line and mapped accordinly in your adapter.

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
OK will do someting here,

OK will do someting here, will let you know 

V

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello All, I am working on

Hello All, 

I am working on adding support to PO file, 2MG, for IIgs, 

Where can I find information on how 3.5 floppy drive are working on IIgs Smartport 

What is the Sel pin about ? 

I have read that data is appleGCR encoded with head information for double sided 800k floppy 

Beneath Apple Dos was really useful, is there the same for 800 drive? 

Thanks

Vincent

 

Offline
Last seen: 4 days 11 hours ago
Joined: Mar 5 2023 - 09:34
Posts: 6
New custom PCB

Hi Vincent,

Thanks for this wonderful project! I have now created my own PCB to replace my existing SDISK-II. As you can see in the schematic below, this requires an LED function at port B8 in the source code to indicate operation and automatically switch off the original drive - which then only produces the typical motor and stepper noises when reading from the SD card.

I also need to change the display initialisation in the SSD1306 OLED driver to support the larger 2.3" green OLED display and add rotary encoder support to the menu. I'll be uploading my changes to GitHub and would appreciate a git pull :)

 

Best regards

Joerg

 

https://www.applefritter.com/files/2024/12/09/sdiskII_stm32.pdf

 

 

 

https://shop.lcd-module.de/search?search=OLEDL128

 

 

 

 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Wahoo impressive, Look

Wahoo impressive, 

Look forward to pull on github 

Vincent 

 

Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Hello Community,I have start

Hello Community,

I have start the SmartPort implementation, I tried to understand how the IWM works 

I have carefully read the IIGS Firmware specifications Section 7, where there is a description of the Smartport BUS. 

Then I tried to understand the call flow of the Smartportsd implementation based on Arduino. 

 

I came to the following call flow 

REQ is Ph0 (Step0)

ACK is WP_PROTECT PIN

 

 

Step 0/ Enable signal is sent Ph3:1 Ph2:X Ph1:1 Ph0:X

Step 1/ ACK as output

Step 2/ set ACK high to signal we are ready to send

Step 3/ wait for req line to go high, this indicates host is about to send packet   

Step 4/ Receive pkt

Step 5/ set ACK to low to signal we have recv'd the pkt

Setp 6/ wait for REQ line to go low, this indicates host has acknowledged ACK   

 

In the Smartportsd code, the end of the packet is managed by timeout... and this seems a bit wired.

How do we detect the start and the end of the pkt transmission ? 

 

@Uncle Bernie are you still around, I remember you have worked on this ? I need a bit of help plz

Vincent

 

 

 

 

 

 

 

Offline
Last seen: 5 days 22 hours ago
Joined: Jan 31 2024 - 06:40
Posts: 239
Is everything polished with
Offline
Last seen: 23 hours 41 min ago
Joined: Nov 19 2023 - 15:28
Posts: 206
Disk II Emulation is working

Disk II Emulation is working and continuous improvment will be done over time, 

What make you think it is 'not polished' ?

Vincent 

 

Offline
Last seen: 5 days 22 hours ago
Joined: Jan 31 2024 - 06:40
Posts: 239
VIBR wrote:Disk II Emulation
VIBR wrote:

Disk II Emulation is working and continuous improvment will be done over time, 

What make you think it is 'not polished' ?

Vincent 

 

On your github page a table tells us writing is not supported, so one can hardly call this "DISK II emulation is working".  A smartport disk wihout writing what will it be? Semidisk (C).

 

Offline
Last seen: 4 days 11 hours ago
Joined: Mar 5 2023 - 09:34
Posts: 6
Well done!

Good work takes time! In an open source project everyone can contribute and maybe it will never be perfect.

Thank you very much, Vincent, for the time you have invested so far.

Offline
Last seen: 18 hours 40 min ago
Joined: Apr 1 2020 - 16:46
Posts: 1007
Some insights / comments on the IWM

In post #246, 'VIBR' wrote:

 

" I have start the SmartPort implementation, I tried to understand how the IWM works. "

" @Uncle Bernie are you still around, I remember you have worked on this ? I need a bit of help plz "

 

Uncle Bernie comments:

 

Yes I worked on reverse engineering the IWM, see this thread:

 

https://www.applefritter.com/content/iwm-reverse-engineering

 

... but I don't think you need to do this yourself, as the only "SmartPort" - ish connector in the Apple II family is found on the Apple IIc, which has the IWM built in, and on the elusive "Liron" card for the Apple IIe which I don't have but I think it won't work all too well, unless you are willing to change the 6502 in your Apple IIe for a CMOS version - and I don't want to do this as this means losing the "unofficial" opcodes which are only present in the NMOS version and may be used by some copy protections of older software titles (pre Apple IIc).

 

See, the issue is that the IWM has certain nasty bugs which never were fixed, and instead Apple used "workarounds" in software and the - IMHO dubious - remedy to use the 65C02. The bug in the IWM which causes unreliable read operations of the IWM with NMOS 6502 is almost laughable, it's a leftover from the "port mode" which - I think - never was used in an Apple product (readers who can prove me wrong on this, please tell me which, where, and how).

 

What is most revevant for you about the IWM is the following:

 

- the PH0...PH3 outputs work exactly as on the DISK II controller. Unlike with the later SWIM chip, they do not have added capabilities in case of the IWM.

 

- IWM's "read write protect" command (L7L6 = 01) provides the status of the SENSE input only in the MSB, and the other bits have different functions, for instance, one of them tells you if the motor is off, and others are copies of the IWM config register bits.

 

- IWM has additional modes which differ greatly from the original DISK II controller. The FAST mode which doubles the data rate needs a 8 MHz or 7 MHz clock to the IWM, but so far I found NO WAY to make that work on a 6502 running at 1 MHz (as in the Apple II). This is simply a software issue. You can't code data moving routines using only 16 CPU cycles per byte, unless the code is completely "unrolled" (no loops) which takes many, many kilobytes and works only with fixed block sizes.

 

- IWM has a "motor timer disable" bit which means that once the MOTOR OFF command is given, the drive enables and the motor will turn off instantly. This feature may be used for trickery in protocols not using a disk drive directly, but I don't know if they use that feature for the SmartPort.

 

The IWM Rev 19 design spec can be found on the Internet. Search for:

 

IWM Spec Rev 19

 

... and you will find ! It contains a description of all of the functions of the IWM, and is the most recent revision (for the "B" version of the IWM which added a "lockout" period after each RDDATA pulse, but did not fix any of the other known bugs).

 

Hope this helps. Oh, and just for the curious: I am very close to have a PLD/TTL based substitute of the IWM and I started to construct a "Liron" slot card using that logic, which is believed to be a perfect functional equivalent of the original IWM. But here is the catch: it also has all the bugs of the original IWM, which I have analyzed thoroughly, and know how to fix them, so my substitute could also be "fixed" to work reliably with the NMOS 6502. But the problem with these fixes is that then I don't have a faithful substitute of the original IWM anymore. And as I don't have a Mac in my possession, I can't say if these fixes would cause incompatibility with the Mac. This of course slows me down. And no, I'm not gonna buy an old Mac at a moon price just to find out. There are really nasty, weird things going on in the original IWM, which I think are not "bugs" per se, but were done to dodge (for me, unknown) issues with the Mac's RWTS, but these turn into "bugs" when you try to run the IWM with a fast 6502 (faster than 1 MHz). Apple does not document this weird behavior anywhere, except stating that ASYNC mode should always be used with LATCH config bit turned on. They don't explain why but without LATCH, ASYNC mode can read data but what the CPU would "see" is erratic.

 

Oh, and don't get discouraged by people who criticize your work - they don't seem to understand that it's an "open source" project "in progress". It's the nature of such projects that they progress slowly and some functions come later down the development path. Anyone who does not like this can go ahead and buy a closed source floppy emu which is available as a commercial product.  The BMOW Floppy Emu, for instance.  I have one and it works fine for me, testing my hardware developments, but ironically, I never wrote anything back from the Apple II to its floppy images ;-)

 

And this is why I think that your decision to implement the write operations later is sound. It's not the typical use case for a Floppy Emu to write stuff back to images residing on a flash card. As I see it, the typical use case is to load lots and lots of WOZ files and other image files on the flash card, and then use the Floppy Emu only to load and play these games, or, if not a game, to demo the software. All this can be done without any write operations to the image files.

 

- Uncle Bernie

Pages

Log in or register to post comments