Anonymous
User login
Please support the defense of Ukraine.
Direct or via Unclutter App
Active forum topics
Recent content
Navigation
No Ads.
No Trackers.
No Social Media.
All Content Locally Hosted.
Built on Free Software.
We have complied with zero government requests for information.
I finally got a chance to try the card after receiving it a while ago. Thanks to CVT for developing this amazing card. Adrian would be surprised as well;). I Can't wait to try other emulators to come!
One question: On vMac, what's the most standard (safe) frequency to select? I used Apple IIc monochrome monitor and another auto sync LCD display, but both turned out failing to sync (can barely see anything). How did you all manage to display vMac? Thanks!
So I tried my cheap AVtoHDMI converter. I noticed on one of the converter it recognized the signal as PAL, and it displayed steady image (noisy, top and bottom cut off). I used another one of the same converter, and it recosginized as NTSC, both H and V non synced. Perhaps vMac is closer to PAL?
<Upper PAL, Lower NTSC recognition>
IMG_0172.jpg
<lower converter = NTSC on LCD, shot by iPhone (too fast shutter speed - see the faded rolling image>
IMG_0169.jpg
I had a chance to try it on IIgs ROM1 and ROM3 motherboards.. Both were able to run ESP32, NES and SMS worked (audio not tested).
One issue I noticed is that keyboard sensitivity is EXTREMELY bad, you would need to hold down a key for 1-2 seconds for the key press to take affect -
typing "NES" is somewhat tough to accomplish. Perhaps ADB timing is affected by the ESP32 board?
IMG_0177.jpg
Thanks for testing the card on an Apple IIgs! I can assure you that you are the first person to do so.
I think I know exactly why the keyboard issue is happening, since it was also discovered by one of my Bulgarian customers on his Pravetz 8C – a clone of the Apple IIe. It has to do with my workaround of the infamous AY-5-3600-PRO/KR9600-PRO keyboard encoder bug found on all Apple IIe machines. It turned out that the Pravetz 8C did not have this bug and now I suspect that the Apple IIgs doesn’t have it either.
I compiled a version of the Interface program that doesn’t contain this workaround and it did fix the keyboard issue on the Pravetz 8C. I suspect that this fix will also work for the Apple IIgs.
Here it is:
ESP32 SoftCard Interface Program v1.0.C.zip
Please keep in mind that this version of the interface program will not work on the Apple IIe. Also it's very easy to mix the two, so I added the letter C after the version number:
C.png
When you type the MAC command, you are prompted to choose from a list of pixel sampling rates ranging from 10.666 MHz to 14.5 MHz. This frequency determines how fast the ESP32 is going to bit-bang one horizontal line on the screen. The lower the frequency the more time it will take to draw one line, so in essence this frequency determines the width of the picture on the screen. It doesn’t affect the vertical synchronization. I usually choose 2: 11,428 MHz.
Now for the vertical synchronization to work, you really need a CRT monitor, since they can handle the non-standard frame rate of 45 FPS. Also you will need to adjust the v-hold and v-size. In this particular case we are pushing an old technology to its absolute limit and I have described this in much more detail in Post #104 on the previous page.
I will also take this opportunity to correct the following arithmetic mistake from that post:
So the ESP32 SoftCard does this by reducing the refresh rate down to 43.75 FPS:
262 lines x 60 FPS = 315 lines x 50 FPS = 360 lines x 43.75 FPS = 15.750 kHz
This should read:
So the ESP32 SoftCard does this by reducing the refresh rate down to 45 FPS:
262 lines x 60 FPS = 315 lines x 50 FPS = 350 lines x 45 FPS = 15.750 kHz
CVT, thanks for the prompt actions. The posted "C" startup worked! Audio also confirmed (this time).
I tried on ROM1, but suppose it shall be the same for ROM3 as well. Perhaps naming the file with IIgs or sort would be helpful to the followers.
Thank for solving the issue so quickly. I'm also happy to be helping the community.
Couple of minor things for possible future improvement: Video is slighty noisy, also Audio is picking up some noise - may be from MB?
BTW, for some reason, my IIe works fine with "C" startup application.. Hmm... maybe I just have a lucky machine that both versions work.
<SMS on IIgs (ROM1) w/ audio> -> Sorry I can't find out how to make this thumnail smaller... :(
IIgs3SD.mp4
Noted with thanks. It's a pitty as it is almost there!
Perhaps I could try RGBtoHDMI in the future. (I have one on my IIgs RGB, but not set up for mono/composit)
The noise in the video definitely comes from the $3.75 AV2HDMI box. The audio should not be noisy though. Can you try opening the Apple II+/Apple IIe jumper if it is closed? Also try with some other sound source, like Doom or an MP3 file. If you still get noise, you can also try a different slot.
If you run Wolfenstein 3D or Doom and use the arrow keys to navigate the menu, you will see that the version for the Apple IIgs doesn't work properly on the Apple IIe.
CTV, thanks for the advise. Here are some update.
AUDIO - Excuse me! The noise was not from the IIgs speaker, but from power supply itself - noise changes between 40/80/NES modes. By changing to a different slot, it did make it quieter - so problem solved. (II/IIe jumper had no affect)
I did noticed that on IIgs, slots 3,4, and 7 it works fine, but other slots have problem detecting the ESP card (both ROM1 and 3 boards). I also tried configuring the slot to "your card" on control panel, but no change. Just a note for anyone trying it on IIgs.
VIDEO, works like a charm on IIe, but on IIgs it is still noisy. This is without the cheap converter, directly connected IIc green monitor / LCD.
You can see its quite noisy especially on lower part of the screen. On LCD color you can see the noise level. - same results on two IIgs's. I also swapped my cable with bundled cable but same result.
<IIgs - on IIc monitor>
IMG_0189.jpg
<IIgs - on LCD color - video>
IMG_0188.mp4
Ah, indeed!
If the video is perfect on the Apple IIe, but noisy on the Apple IIgs, it must be picking up the noise from the machine itself. I can't really tell exactly from where though. Have you tried PAL , NTSC-50 or simply choosing Monochrome? I am curious if the same noise pattern is still there.
I forgot to mention: huge thanks for testing and finding this video noise problem on the Apple IIgs!
Don't know if it's related or not, but when I had a RM Phasor clone in my IIgs, it picked up all kinds of bus noise that got mixed in with the audio out of the Phasor. I think it was mainly when there was disk I/O. But it may have been present other times too. It was a few years ago before I picked up a IIe and moved the Phasor to that. So I don't recall exactly what the circumstances were. Just that it was picking up something from the IIgs.
ROM 01 IIGS has a lot of bus noise, I thought this was common knowledge (not trying to be condescending).
https://forum.vcfed.org/index.php?threads/apple-iigs-noise.37295/
I wasn't really aware of that. I wonder if this means an extra buffer on the data bus and more filter caps on cards are needed? Maybe shielding over RFI sensitive components? Or is this something that can't he easily worked around?
I also found this regarding the Apple IIgs and it seems to be right on the money:
Ground Noise
Since the Apple II expansion slots were designed with only one ground pin, complex expansion cards sometimes have problems with excessive ground noise -- especially in the IIGS, where the signals typically have faster rise and fall times. To reduce ground noise as much as possible, it is helpful to bypass all four supply voltages (+5 volt, +12 volt, -5 volt, -12 volt) to ground with electrolytic or solid tantalum capacitors, even if all the available voltages are not used on the expansion card. This additional bypassing has the effect of providing an improved ground by providing additional AC ground paths through the various supply pins.
Source: http://www.1000bit.it/support/manuali/apple/technotes/iigs/tn.iigs.068.html
The problem is that I don't have an Apple IIgs. I know a couple of guys in Bulgaria who do, but I am not sure if I know them well enough for them to be willing to loan me one for a week, so it might be a while until I am able to investigate this myself.
But maybe someone with an Apple IIgs will be willing to help by trying electrolytic capacitors on the card between the unused +12V/-12V/-5V and ground as it is suggested? This will mess up the ESP32 SoftCard cosmetically a little bit, but you will get to use the prototyping area! :)
In my case, it was a ROM3 that had the noisy Phasor. So maybe it was partially cleaned up on a 3, but definitely not eliminated.
The PSU is a whole other issue. I own 3 IIgs, and 2 of the PSUs have a slight whine under load. The 3rd PSU is dead quiet. All 3 were recapped, but made no difference in the noise.
Thanks to the high resolution image of the screen posted by sugix8, I can see that the waves of this noise are 11 horizontal lines peak-to-peak, which is about 1.4 kHz.
I believe that's right, the ROM 03 is better but not perfect. I have noticed Mockingboards definitely amplify it noticeably on my ROM 01 but I've come to simply accept it for the most part. However, to have this actually looked into is nice, definitely above and beyond! Cards like the MicroDrive turbo which have a lot of bus activity can practically be audibly monitored with a Mockingboard in a IIGS ROM 01.
Hi CVT and gents, I'm back home.
So, I have made some measurements on the scope (hantek DSO5102P). This is based on ROM3 (less noise on power rail?) IIgs MB.
Conditions: ESP32 on slot #4, 5V measurement on slot #6.
Modes NTSC, NTSC-50, PAL have all similar noise visible on LCD (directly connected from ESP).
Picure 1: 5V/Yellet and NTSC (ESP32 out)/Yellow - you can see that noise on 5V and NTSC visible at the same timing - which I'm not sure which is the source of it.
Picutre 2: 5V/Blue with ESP32 installed - 640 mV pk-pk
Picture 3: 5V/Blue without ESP32 on the MB. - 320 mV pk-pk
My observation is that somehow 5V rail has more noise when ESP32 is installed. Either the PSU is generating more noise due to some power consumption of ESP32, or ESP32 is somehow affecting the power rail (which I think it is less likely as it runs fine on IIe).
Unfortunaltey, I dont't have any test cards to filterr the three power rails, so this is as far as I can go.
Here are the shots:
Pic1: 5V noise vs NTSC noise
Power-vs-NTSC.jpg
Pic2: ESP32 installed
5V-with-ESP32.jpg
Pic3: w/o ESP32
5V-no-ESP32.jpg
If you can provide insturctions of what to do on the testing pins, I woud be happy to try it out - I due have some pF's around (though, please be patient regards to when it will happen :)
So first I just want to make sure we are talking about same noise - the 3 horizontal waves at the bottom of the screen inside the red rectangle:
Noise.jpg
If yes, this noise is in the kilohertz range (about 1.4 kHz) and it cannot possibly be caused by the megahertz range noise that you are seeing on the oscilloscope.
Also are these waves also present when you choose [M]onochrome instead of [C]olor?
Just got my card three days ago. Shipping was faster than I expected.
The card is a great product and so far has exceeded my expectations but see the timing problem below.
I just got around to testing the card on the IIgs. I am using the card in slot 7. I have a ZipGS running at 8mhz. I can give more specs if needed but i am not sure, at this point, that the other specs matter.
I originally could only get the card to work intermittantly because the program would find the card in slot seven and display the "PLEASE PLUG THE MONITOR THROUGH THE CARD" message. After taking a keypress the program would exit and return to the BASIC prompt. Every once in a while (every 4-7 restarts) the program would make it intot the card but once on the card firmware the keys were only recognized every third or so key press unless you wait between key presses about a second.
I tried both versions of the program and the latest program posted (the "C" version) was better but still did not recognize some of my key presses or mouse movements. Especially in doom.
I started removing cards and running with different control panel settings and found that the only thing that worked successfully was to turn off the accelerator. In the control panel I set the machine to 1 mhz and the card worked perfectly.
If you want I can take a look at the source and possibly add code to turn off any accelerator on the IIgs?
P.S. It is not that I do not have other apples to test this in. I just started with the IIgs. I have several versions of the apple II+ and several versions of the Apple IIe. I have about four different Apple II accelorators and I might try a couple to see if all accelorators make any difference or if they need to be turned off. If those accelerators do have a problem than that might be a bit more complicated to fix by software. (Just need more time in life with Baldurs Gate III out.)
Gary
Hi Gary,
Thanks for finding yet another issue complete with a workaround on the Apple IIgs! I never designed this card to work on this particular machine, but it looks like with everyone’s help soon the Apple IIgs will be fully supported.
Here is the Assembly source of the "C" version of the Interface program - the one that works perfectly on the Apple IIgs at 1MHz:
As far as shipping time is concerned, 8 days door-to-door from Bulgaria to the US by regular mail does happen every now and again, when all the flights align perfectly. :)
Btw, are you experiencing the same video noise on your Apple IIgs described by sugix8 above?
Also I would like to take this opportunity to thank sugix8 for offering to set up a Zoom call in order to investigate this video noise. Right now I am working on a special diagnostics firmware that would enable us to remove all the socketed chips and control the card through a Bluetooth keyboard. This will completely isolate the ESP32 from the data and address bus of the Apple IIgs. The Bluetooth radio is part of the ESP32, but I have disabled it in the regular firmware, because it consumes too much of the chip’s internal memory.
Good Afternoon,
I did get around to trying some stuff out. I am including the code with debug messages.
I have not tried this on any other machine other than the IIgs because of time. If someone wants to try the code and see if it still works (even though I modified the "c" version) then it would be nice.
This does fix the problem with having the original speed turned on in the control panel and after that if the speed is turned to something else in the control panel although I am investigating why changes do not effect the soft switch. Not that the code does not work but that it is giving unusual messages when the speed is controlled by the control panel after rebooting.
I am not turning on and off the ZipGS, which I could, I am using the C036 soft switch. This seems to only be controlled at startup. I am looking into that because no matter what is set in the control panel after startup the C036 soft switch does not acknowledge that value but the program works the same.
Here is the source and the ProDOS disk.
ESP32 IIgs ProDOS.zip
Gary
Thanks for providing this - I really appreciate it!
Btw, what other machine are you considering trying this, other than the Apple IIgs? The regular version of the Interface program that is on the SD card (the one without the "C") will not work properly on an Apple IIgs and the one with the "C" will not work properly on the Apple IIe. This is why I only posted the Assembly source of the "C" version.
I plan on testing it on the IIe and at least the II+. That and a couple of accelerators I have.
If you tell me what the difference between the two program types I can encorporate that change into the new logic. Then there will only be one type. I just don't know what the difference is between the non-C and C versions.
Gary
Got it!
Here is the Assembly source of the regular Interface program:
ESP32 SoftCard Interface Program Source v1.0.zip
It contains a workaround for the AY-5-3600-PRO/KR9600-PRO keyboard encoder bug. This bug is found on all Apple IIe machines, but it is not present on the Apple IIgs. If you diff it against the "C" version, you will see the workaround itself. It is this workaround that prevents the regular version from working properly on the Apple IIgs and some clones like the Pravetz 8C, which also don't have the keyboard encoder bug.
On the Apple II/II+ it doesn't matter which version is used, as they all send just a KeyPressed event, instead of the more game-friendly KeyDown/KeyUp events. The regular and the "C" version of the Interface program have the same code path when running on an Apple II/II+.
I do not have much time tonight.
I have combined the two sets of code. If I have time tomorrow I will combine the NTSC and the PAL versions. Should be easy to do. Just need to ask the user which. Still lots of testing to do though. Still with debug lines.
I tried to edit the last post and could not. The zip file was an older version where I reversed the test. <sigh>
Here is the test correctly:
ESP32 All ProDOS 1.0D.zip
Great! Actually I would prefer if the PAL and NTSC are also available as separate files. Almost every single user always uses the same one, so it might get too annoying giving the same answer every single time. This was my reason for splitting them. Of course we can keep the one that asks PAL or NTSC as well, so that everyone is happy.
When all the testing is done, I'll simply release it as version 1.1 of the Interface program.
Here is the latest firmware update:
ESP32 SoftCard FW v.1.07.zip
Version History: (Continued)
v1.07
- Mac emulator: increased the memory available to the Mac emulator from 2.5 MB to 3 MB.
- Mac emulator: executing the MAC command from a sub-directory will load the Mac ROM and disk images found in that sub-directory.
- Sega/Nintendo emulators: executing the SEGA or NINTENDO command from a sub-directory will only show the ROMs in that sub-directory.
Details:
Setting up the Japanese localization of Mac OS 7 (KanjiTalk) on the Mac emulator revealed that the Japanese OS uses so much of the available RAM, that there is barely anything left to run applications! So, after converting some static memory allocation into dynamic elsewhere in the firmware, I was able to increase the available memory to the Mac emulator from 2.5 MB to 3 MB. This also benefits the English version of Mac OS 7, as there is now almost 2 MB of free RAM to run applications.
Japanese.jpg
English.jpg
Another change in this firmware update is the ability to have more than one Macintosh configuration on the same SD card. This is accomplished by storing different Macintosh ROM + hard drive images in different sub-directories. For example when the MAC command is executed from the root directory it will look for the needed files in the /Mac directory. However if it is executed from another sub-directory, it will look in that sub-directory first. This way the English version can still remain in the /Mac directory, while the Japanese one can be stored in /MacJP for example. If the user wants to start the Japanese version, they will have to change the current directory to /MacJP before executing the MAC command.
This concept is also extended to the Sega and Nintendo emulators. Game ROMs can now reside in directories other than the standard /SMS and /NES. Starting either the Sega or Nintendo emulator from a sub-directory will result listing the game ROMs found only in that sub-directory. One useful use case of this is the ability to separate NTSC games from PAL ones. In order for the game speed to be correct, the video standard needs to match the game region. Otherwise American/Japanese game ROMs will run slower when the video standard is PAL and European game ROMs will run faster when the video standard is NTSC.
Good Afternoon,
I finished all the testing that I could do at the moment on this. I did change the STA I was doing to either TRB/TSB apropriatly as specified in the IIgs hardware reference. Firmware reference did not specify that and some online seem to be doing the STA instead but seems better the way the hardware reference suggests.
Played DOOM on the II+ and Wolf3D on the IIe. On the IIgs I played both. Played NES and Sega on all three. I cannot think of anything that I had a problem with during the testing using the same program with everything. I did run the PAL version on the II+ and the IIgs and they seemed to work fine except that on the IIgs it seemed cut off more but it could have been the output.
I think you can take a look at things and maybe have others test out the program. Especially on the IIgs version. Hope this helps.
ESP32 All ProDOS 1.0E.zip
I am including the D=Debug and E=whatever versions. Of course, I do not think that you will be able to build this on the earlier versions of Merlin because of the TRB/TSB opcodes and the DSK directive. You might want to get Merlin32 from https://brutaldeluxe.fr/products/crossdevtools/merlin/index.html and build with that. I use an environment of VSCode (with Merlin 6502 extension), Merlin32, CiderPress, and Beyond Compare (mostly to sync up the PAL to NTSC versions). And most important I cannot forget the Floppy Emu. Sixty second turn around from a programmed fix to the system up and running.
Thanks,
Gary
Thanks for all the help, Gary! I will get Merlin32, compile it, do some testing myself on my machines and then incorporate your changes into version 1.1 of the Interface program, which I will post later.
On the Apple IIgs video noise issue, sugix8 and I had a Zoom call and we were able to solve the problem. I am now publishing version 1.08 of the firmware that contains the fix, which he already tested and confirmed that all the video noise is now gone.
Here it is:
ESP32 SoftCard FW v.1.08.zip
Version History: (Continued)
v1.08
- Fixed a video noise issue that was occurring when the ESP32 SoftCard is hosted inside an Apple IIgs.
- Nintendo: Fixed an issue causing the video to break on NTSC when the game "Blades of Steel" is launched first.
Details:
The reason for the video noise turned out to be turning off the Wi-Fi radio of the ESP32 in situations when it will not be needed, in order to save memory. We stumbled on the fix pretty much by accident, as the diagnostics firmware that I had prepared for the tests didn’t happen to turn off the Wi-Fi. I suspect that this noise is more noticeable in Japan due to the lack of ground in all the power outlets. This also means that even if I had an Apple IIgs, I probably wouldn’t have been able to reproduce this noise myself, since all the power outlets in my house are 3-prong and have a proper ground.
I want to thank sugix8 once again for setting up a Zoom call with multiple cameras, helping to find a fix and then testing it!
thank you CVT for all the work and this new release!
I'm glad to be a help, but this hybrid of new and retro technology is just awesome. Perhaps one day, Apple II may become our main machine at home once again :)
Pages