This is a sunny Monday from the Delaware beaches where I’m writing out This Week in FujiNet for the 30th week in 2022. It covers the end of July from the 24th to the 31st.
This will be a shorter abridged version as I mentioned — I’m on vacation — and while I have the time to write this I don’t have as much time as usual. I am going to document the major strides forward and backward this week because there has been a constant stream of work polishing up the Apple II platform. Not so much on the other platforms except Commodore, which has moved very close to popping into place as the last vestiges of Meatloaf are put thru the FujiNet grinder. In with code and out with magic.
You can find more information about the FujiNet project and purchasing a device at these locations:
- FujiNet Official Site
- Buy A FN Device from Vintage Computer Center
- Buy A FN Device from Arcade Shopper
- Wiki Pages for Devices & Coding
- Join our Discord
- The FujiNet Facebook Group
FujiNet Flasher is here – keep your FN up2date.
Call for Technical Writing
TCH put out a request for anyone to contribute with some technical docs on how the code is organized and used in the FujiNet project. There are a number of facets for docs, and anyone can contribute (even I have spend time organizing the GH Wiki pages and adding and documenting bits and pieces) in a number of ways. Deep technical docs with code samples is critical to help new coders get up to speed on what is going on. Physical board work and documentation on the remaining platforms targeted by FujiNet but not yet served. And even user level technical docs about how to use and setup programming environments are useful for people wanting to test the absolutely latest pushes to master- without committing code themselves. Testing commits from others on a wide variety of platform configurations is a critical part of the process. Coding on specific platforms themselves – in cc65, MadPascal, assembly or BASIC can help bring more user-level programs (like Weather, ISS Tracker, Connect Four) that attract attention to the platform. All this helps the project and provides a way for anyone with almost any level of experience to help. My thought is this: if you are savvy enought to have tracked down the Discord server and joined, you can help!
Thom Cherryhomes: @everyone
Any technical writers want to contribute to the #FujiNet project?
We need to make programming documentation for:
Wanna help? Join dev !
Michael Sternberg has apparently written a new app called NOS – Networking OS. It seems like it’s a cli based DOS that has FujiNet networking devices baked in. I’m not 100% percent on what it’s doing, but I will find out more by next weeks posting and have a full run down on this exciting development for Atari.
TCH has a little more info on this and a video explaining what I couldn’t!
Thom Cherryhomes: @here @Michael Sternberg (@16kram on Twitter) has been taking the atari8bit NOS source code that I posted, and making it a viable environment. It replaces D: with N:, which does all filesystem work on the FujiNet, with wonderful benefits. https://youtu.be/JL__9RRIaIo #RetroComputing
The PC version of FujiNet had a wonderful collaboration between Schadret (CONFIG work) and apc (creator of fujinetPC) which resulted in the ability to mount HOST slots from SMB mounts, and incorporates the newest CONFIG from Schadrets work. Both are now in fujinetPC and worth checking out and once some minor bugs are ironed out in CONFIG, upgrading to.
Ron Klein, jeffmazur, mozzwald, ppuskari, robj, TCH, Jeff Piepmeier, and others worked another week on ironing out phantom timing issues across the systems, each taking their turn with issues, problems, thoughtful solutions and attempts to fix things in code. The FujiNet is sometimes working well, sometimes not. Full testing (which has started) will further stress the board and bring out the issues, where they can be fixed.
Moz fixed up the WebUI to help with mounting issues…
mozzwald: @Ron Klein @ppuskari I hooked up mount_all() so that if you set Mount Everything in the config setting from the webui it will skip config and mount the disk slots. Note, this will only work disks on the SD card and not tnfs as wifi is not ready when this is run
More people are able to pitch in as more REV0 boards arrived:
robj: My FujiApple Rev0 arrived today 🙂 I did a fresh build, with the timeout timer increased, all built nicely. Booted up fine into gsos and TR on my iigs.
robj: plugged into my IIc+, and nothing 😦 just hangs.
robj: so some odd interaction/difference going on.
jeffmazur: Finally, some good news! I've moved off of the //c and //c+. Testing on //e now with Liron, ROMXe, ZIP CHIP, and BOOTI. And everything (mostly) works. 😃 Mount Everything still crashes to an infinite loop though.
Issues with SoftSP abound:
Jeff Piepmeier: @mozzwald here’s a story: when I got the II+ I almost immediately damaged the Disk II controller by pulling it out (or maybe putting it in) with the power on. I ordered a replacement on eBay (fortunately reasonably priced!). I also ordered replacement 74ls IC’s. I don’t remember which chip got it working again but I replaced all of them anyway. I dumped the ROMs in the monitor and checked their contents. I used some Disk test program (don’t remember what) and tested the disk ii and it passed everything. Despite all that success, the repaired card would not work with DIY SoftSP and SmartPortSD. I had to use the replacement card. Anyway, just saying I have a case where two disk II cards worked with the floppy but only one worked with SoftSP. I should try the damaged/repaired card again sometime.
Moz has been poking the hardware, ensuring it’s not something inherent in the REV0 boards:
mozzwald: also, I tried a II+ and could not get a boot from either disk ii or duodisk card
mozzwald: failed experiment. added the 470 ohm resistors like the FN1.0 has. all the same symptoms
pinmode and the IIc+
robj found a thing in the code with the pinmode and bit banging…
robj: so the set_pin_mode sets the pin as an output. What does the GPIO.enable_w1ts do?
mozzwald: maybe we don’t need to set the pin mode when using those functions?
mozzwald: good question. I’ve never used them
Jeff Piepmeier: enable set and clear make the GPIO go to output and high-z (input). This was used for bit banging the RD line so it wouldn’t conflict the bus. Note that the code is not executed unless the bit bang define is made. The compiler optimizer should just take out the call since it’s empty.
Jeff Piepmeier: still need to initialize the pinmode
Jeff Piepmeier: there’s some magic that initializing the pin makes happen that i didn’t bother trying to track down
mozzwald: ok, I’ll add the pinmode setup and see what happens
it helped- the IIc+ was now working and booting fine with FujiNet REV0.
ppuskari has been sick, but not enough to deter him from a massive spin up of testing and analysis for the many permutations of AppleII he has at his disposal. He has hooked up a scope and analyzer to the REV0 board and been running countless tests against a variety of firmware versions, trying to stamp out the SP timing issues.
ppuskari: So got some rest and feeling better. Looks like on both the GS ROM 01 and 3 we have issues with WRITE mode. I can copy stuff from the smartport mounted volumes all day but it will hang on writes. That’s from booting from fujinet or booting from Ramfast.
ppuskari: Also saw that VidHD will work with fuji net in the Rom 01, but NOT with the Ramfast installed. The boot hangs when Smartport is queried right as desktop is loaded. But if I remove the vidhd, things boot, or if I remove the ramfast things boot. Just not both together with fujinet for some reason. bootign with fujinet removed works fine with vidhd and ramfast installed.
So that is all for this special vacation edition of This Week In FujiNet. If you think this is too short and you need more- then come to the discord and join us!