UNCLE BERNIE'S IMPROVED APPLE-1 CASSETTE INTERFACE

63 posts / 0 new
Last post
Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
UNCLE BERNIE'S IMPROVED APPLE-1 CASSETTE INTERFACE

You probably expected already that something like this must be coming, after you followed me on the bumpy road that lead to this - at the present time -  "final" result of my work on improving the notorious Apple-1 cassette interface, as documented in this thread spanning many months:

 

https://www.applefritter.com/content/which-aci-improvements-do-exist-and-work

 

This new thread is meant for those of you who are not interested in how all this came about, and was developed, but only in the final result, the recipe on how to modify your ACI to get improved functionality and to activate the hidden page in my new ACI PROMs (which have been sold with my more recent IC Kits since early July 2020).

 

The mod addresses three shortcomings of the the original ACI circuit design and its firmware:

 

1) it fixes the volume indicator LED circuit (which in the original form almost never works).

 

2) it adds Apple-II style checksums to the recordings so you can read / write tapes with either Apple-1 or Apple-II and use the same recordings on both machines.

 

3) it adds an "extended" formatting capability to the recordings to make them less awkward to read back.

 

The latter is based on a proprietary format which I had developed a few months ago in my "improved ACI project".This proprietary format is fully forward and backwards compatible with both Apple-1 and Apple-II even if those are unmodified. But if you use my new ACI PROMs on an ACI card modified for them, you don't need to remember or type in any load address ranges or start addresses. All this information is embedded in the "extended format" recordings. So, for instance, if you have made an extended format recording of a machine language game that consists of one data block and one autostart block, to load it, you just give the commands:

 

C500R <return>

RX RX <return>

 

... and the game loads and starts. There is one RX for each block. The number of blocks is all you need to know. The C500R starts the second page in the PROMs which I have added. The first page still contains the original ACI firmware written by Woz back in 1976 (used with his permission). So with the mod you lose nothing. The original, unmodified firmware can be started with the command C100R as usual. This is a bit different from the 512 Bytes PROMs I had developed a few months ago. They were a complete re-write and also had a CRC (cyclic redundancy check) capability. They also know about the number of blocks in a record - only one RX command needed. But they would not work at all in an unmodified ACI card. Which would mean I could not sell those with my famous 100% tested and burned in IC kits on Ebay. Buyers expect to have the real deal, the real firmware as written by Woz. And I agree with that attitude. So when I ran out of 256x4 PROMs and sought a good use for the 2nd page of 512x4 PROMs, I decided to make a stripped down version of my "extended ACI" firmware PROMs to avoid wasting this 2nd page. A few functions had to be thrown out, but finally I could make it fit. This is not a "crippled" version, though. The "extended" format it makes is the real thing but the CRC fields are marked to be invalid and the block count is not used on readback. Everything else is still there, and everything stays forwards and backwards compatible.

 

In the following I will show you how to modify any ACI card to fix the volume indicator LED circuit and to enable the hidden page in my new ACI PROMs. You can implement both or only one of these two mods. My recent kits also include all the small passive components to fully populate an ACI card (except the IC sockets) so I ordered two ACI cards from "Pinguoso" on Ebay ($10 each, great price !) and used one of my parts bags to build a new ACI with the mods from scratch. This of course also was a test to see if everything would work for builders - my older ACI cards are "lab rats" with so many modifications that they don't qualify for that and could not be used to make nice photos of them.

 

Step 1: One cut on the component side (this is for the volume indicator LED circuit fix):

 

 

The best way to cut these traces is to use one of these diamond tipped, battery driven etching pencils you can find at Harbor Fright (pun intended) and elsewhere. You can also use a X-acto knive to cut out a piece of the PCB trace, but I found the etching pencil works much, much more precisely and never cuts too deep - because it does not cut - it's a grinding process.

 

 

Step 2: Three cuts on the solder side (this is to enable the hidden PROM page):

 

 

Note the read arrow. On some ACI PCBs not based on the Russian Open Source Gerbers there is a trace at that location that duplicates the component side trace we just have cut in Step 1. If such a trace is there, it also needs to be cut.

 

 

Step 3: Populate the PCB as usual. Be aware of the option to hide the added 1nF capacitor for the volume indicator LED circuit fix in the IC socket, if it is the kind with precision machined contacts. This requires good fine motor skills and a very precise soldering technique. If you can't do that, you can always put the capacitor on the solder side of the PCB. It just is an eyesore there, see the photo in the above thread, post #13. But yet another alternative is to use a small 1nF SMD capacitor (the "bird feed" type), if you have those, in lieu of the disk capacitor. I chose to hide the latter in the IC socket: I snipped off the pin#9 of the DIL-14 socket just at the point where it gets skinny (this avoids damaging the internal contact fingers, do not snip any further). Then I soldered one leg of the capacitor to the stump of that pin and then I ground it down, again with this marvelous diamond tipped etching pen (but be careful -- only remove the solder bead, and once copper is visible, stop immediately). This procedure increases the clearance of the stump to the PCB, such that a thin insulated wire can go through the pin #9 pad hole of the PCB location #2 into which the pin would go had we not snipped it off. That thin wire is soldered to the other leg of the capacitor. Just prior to that step the IC socket with the hidden capacitor looks like this:

 

 

 

When the socket is being installed, the thin wire is threaded through the hole and then pulled gently from the other side while placing the socket into the PCB. Only solder two diagonal pins (#1 and #8 recommended) of the socket and then adjust its height over the PCB by alternately re-heating these two solder joints while pulling / pushing on the socket. Make sure there still is some small clearance from the stump to the wire going though the hole of the pad, and make sure the IC socket is not tilted in any ugly way. Do not solder any of the other pins of that socket yet. Then put in all the other parts. The component side of the ACI should look like this:

 

 

 

You might note that I used DIL-16 sockets with built-in 100nF bypass capacitors in locations #3 and #4, where the PROMs go. Bipolar PROMs make nasty current spikes and this may be one reason why the ACI is not such a great performer in terms of readback reliability. So I can recommend this measure (although it's hard to prove how much it really brings).

 

 

Step 4: Add the wires on the solder side like this:

 

 

 

Some of the wires tap into a PCB trace. Scrape a little bit of the solder mask away and then polish the exposed copper with a pencil eraser until smooth and shiny. This helps to make a better solder joint. But don't overdo this, use a corner of the pencil eraser to avoid a dull speck on the solder mask that is too large. If your pencil eraser has no sharp corners anymore, cut a piece off and you have four fresh corners to work with. That should be plenty. Solder the insulated wired that comes out of the pin #9 hole of the IC #2 (the socket with the hidden capacitor) first, because if you botch that and cut it off too short, or if there is a mishap with stripping the insulation, you can still get the IC socket out to install a new insulated wire (rinse and repeat).Remember we only soldered two diagonal pins of the IC in location #2 for a reason. Any mishap with stripping insulation can be avoided by using polyurethane insulated wire used for winding inductors. This thin insulation can be stripped by heating it with the tip of the soldering iron (apply some solder in the process). But do not inhale the fumes - they are toxic. I used this type of wire for the photos seen in post #13 of the beforementioned thread. But for the example here in this new thread, I used blueish wire-wrap wire because I think it looks nicer and I wanted to show you the difference. Alas, I have no such wire with an insulation of a color that matches the green solder mask. That would be ideal for better looks.

Make sure the insulated wire that comes out of the pin #9 hole of the IC #2 is long enough to be bent into the final configuration seen here:

 

 

Which looks neater. In the previous photo I just had bent it away again so you can discern all these wires and where they connect to more easily.So many words for just one wire. But is is the most difficult wire to add and it must be done right and completed as the first one. Then add all the other wires and solder only those pins of IC #2 where a wire must be attached. Do not solder any of the other pins of IC #2 until all wires are in, and have been bent into their final positions. You could still break that difficult to replace wire off in the process and if this happens you want to be able to get the IC socket #2 out again to replace it. After all the wiring work is done, solder the remaining pins of IC socket #2.

 

This is how I built a new ACI card with all the currently known mods. It will work with both 256x4 and 512x4 type PROMs, so you can do these mods even if you don't have the new 512x4 PROMs yet. It would be great to have somebody who has the tool to edit Gerbers so these mods could be put right into the PCB itself. If the extra capacitor would be a SMD hidden under the socket of IC #2, then nobody could tell it apart from any unmodified ACI, except for spotting the 5.1 MEGOhm resistor in lieu of the 100K resistor. Alas, the only tool I know which can edit Gerbers with grace is the "FAB2000 Gerber Edit"(or so, my memory is not 100% certain after all these years). Our PCB wizard in the last company I worked for before retirement had it. But it is heinously expensive. Most likely it can't be found outside the electronics industry. But maybe our Russian friend who made these Open Source Gerbers could make that modified PCB for us ? If you read this, dear Misha, please get in contact with me by a private message here at Applefritter.

 

So far today's post on UNCLE BERNIE'S IMPROVED APPLE-1 CASSETTE INTERFACE.

 

We have covered the hardware side.

 

And that is all I could do in this internet session. If anyone is interested in adopting these mods, please write a comment. If there is enough interest, I will make another post explaining the software side and how my proprietary extended format works on both the Apple-1, the Apple-II and how it can be used on any non-modified ACI (same procedure as with using it to read these recordings on an Apple-II, btw.)

 

Comments invited !

macnoyd's picture
Offline
Last seen: 12 hours 2 min ago
Joined: Oct 15 2012 - 08:59
Posts: 855
Really NICE work UncleBernie !!

Easy to understand write-up too.

I have no comment on the technical parts but I would like to suggest that you consider making up an "UncleBernie's" version of the cassette interface PCB with all the mods included in the traces.

I know I'd buy one! :-D 

If PCB making isn't in your bag, maybe someone here would take it on. (?)

 

Very nice work and thanks for posting !!

You've become an excellent source for mods and technical info to the Apple 1 - which is most appreciated by me and I'm sure many others as well.

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

There is a free program for creating and editing PCBs.

 

https://easyeda.com/

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
HOW TO USE UNCLE BERNIE'S EXTENDED FORMATTING PROMs

Hi -

 

I have got word that there is one (ONE !) daring soul out there who has these PROMs and did the mod. So I decided to publish the "manual":

 

Start the 2nd page in the PROMs with C500R <return> and then you have the same cassette commands available as in the original Woz ACI code, except that these have extra functionality. However, since I use the command line parser written by Woz, be aware of the quirk of the original ACI firmware that you better enter ALL four hex digits of any address given to these commands. Otherwise, some leftovers of the previous address may become part of the second address and the address range used by the command will be wrong. I think this is not a "bug" in Woz' code - there is simply no way to avoid this within the mere 256 bytes available. And since I also was very, very tight with the added 2nd page - I struggled for weeks to squeeze the extra functionality in - I could not fix this quirk either. So let's call it a "feature" which can be dodged by proper procedure: always enter four hex digits for each address and all is good !

 

If you use the "standard" cassette commands in the form:

<from>,<to><cmd> where:

 

<from> is the address of the first byte in the recording block

<to>   is the address of the last byte in the recording block

<cmd>  is the command: 'R' for tape read, 'W' for tape write

 

 

... in the extended formatting / 2nd ACI page, the firmware will append (and check) an Apple-II style EOR checksum byte, which is so badly missed in the original ACI firmware. If the check fails, a '?' will be output. These recordings are fully Apple-II and Apple-1 compatible: the original Apple-1 firmware (on page $C100) just ignores the checksum.

 

There also are 'extended' formatting commands, WX and RX, the 'X' meaning 'extended'. These use an 8-byte header which contains the <from> and <to> addresses, or, if those two addresses are equal, they are treated as an autostart address. As an example, consider the commands to write a recording of my 'Codebreaker' game you can find here in this forum:

 

C500R <return> ... to start the extended formatting page. Then:

0800.0FFFWX 0800.0800WX <return>

 

... to write a first record block containing the program and then a second record block with the start address.

 

Having these headers in the recording relieves you from writing down or memorizing the load and start addresses. All you need to note / memorize is the number of blocks. To load and run such a program, use the following commands:

 

C500R <return> ... to start the extended formatting page.

RX RX <return> ... load and execute two record blocks.

 

If you want to avoid the autostart, just use one RX less than the number of blocks in a recording (the autostart always must come last for obvious reasons).

 

To read such an extended format recording on an unmodified Apple-1 ACI or on an Apple-II, you just subtract eight bytes from each <from> address and you skip the autostart block as explained above. So in case of the 'Codebreaker' example the read command would be:

 

07F8.0FFFR

 

and all is good. Be aware, however, that the header still is being read into address range $7F8 to $7FF. It does not matter if any memory is there, as both the Apple-1 and the Apple-II just deposit these eight bytes blindly and never look at them again, but you want to avoid overwriting vital data of the operating system, so choose your address ranges accordingly.

If for some reason you must make multi block recordings with continuous addresses (no gap for the eight header bytes there), record them with descending address ranges. Example:

 

0B00.0FFFWX 0800.0AFFWX 0800.0800WX <return>

 

and on unmodified Apple-1 ACI or the Apple-II use the following read commands:

 

0AF8.0FFFR 07F8.0AFFR <return>

 

So with a little bit of evil math in the hexadecimal number system we can load such extended format recordings on any machine, whether it has my 'extended formatting PROMs' or not, and whether it is an Apple-1 or an Apple-II.

 

What these 'extended formatting PROMs' in the current form don't have anymore: my original work was a complete re-write of the ACI code and it supported cyclic redundancy checks ("CRC"), too. But I never could fit everything I wanted into only 512 bytes of PROM space. With more time to spend on it, maybe it would be possible. But when keeping Woz' code in there, in the first page of 256 bytes, there is absolutely no way to have CRCs. So in the current headers there is a flag to disable the CRC check for these recordings. But (inactive) CRC bytes are there to keep everything forwards and backwards compatible for the future.

 

You could now make the point that CRCs are not absolutely necessary anyways, and the EOR checksum would do, as it was all what the Disk-II system ever had. However, there are certain error conditions in tape systems - which I actually have experienced during my work on the new ACI firmware - where the EOR checksum would NOT catch a readback error. This may happen, for instance, with a premature start of the readback before the actual start bit after the header tone comes along. The header tone itself is read as a string of $FF bytes and as long as the premature start catches an even number of them, the EOR checksum won't notice that fault, despite the read back data is misaligned and wrong. Alas, numerous causations exist which may produce such a premature start. The crappy media player of Windows 7 is one of them. And the cassette readback circuit of the Apple-II tends to treat playbacks with too high a volume setting as a sort of bogus header tone with lots of '1' bits and a few '0' bits sprinked among them, which may cause exactly the dreaded error condition mentioned above.

A CRC would catch that, but even a CRC has weaknesses and I have witnessed a rare case where even the CRC did not catch a fault and the loaded program would hang.

 

But in any case, even a simple EOR checksum is much, much better than having no checksum at all, as is the case with the original Apple-1 ACI.

 

Comments invited !

 

 

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

Finally, I made this mod, though a little bit on my own laying the wires that would not be crossed, as I lay pipes, I'm a plumber. This really works, at least the LED is lit when you boot from a laptop and it is very convenient to determine the level of volume needed. I have the usual unmodified PROMs, so I can't test the other functions yet. This is the third big upgrade for this board with the change of ic sockets, so don't mind the scratches. 

 

Thanks Uncle Bernie, as always your insights were very helpful.

 

 

 

mrtitanic777's picture
Offline
Last seen: 4 weeks 1 hour ago
Joined: Jul 23 2020 - 04:40
Posts: 73
Very Interesting thread! I

Very Interesting thread! I would be VERY interested in editing the PCB to include this mod. But it would require a lot of rerouting traces, mainly because there's bodge wires crossing over multiple PCB traces and that again means everything would have to be moved around.

 

Best,

Logan

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
I'm already working on a modified ACI PCB ...

... based on the Open Source Gerbers. It will include the volume LED mod, the extended PROM mod, and the +5V only mod. It will work with all Apple-1 and all known ACI PROMs. But of course, if you plug the standard 256x4 PROMs in, you will NOT get the extend format functions ;-)

 

I already have a plan and there are not many traces which need to be moved. The mods will be so small that you can't spot the difference to the original ACI layout unless you know exactly where to look. The casual observer will not see the difference. This is important for me.

 

The issue I still have is that I need to learn a new PCB software package to do the work and I don't know if I can follow through with it. I always avoided to use PCB CAD tools because they tried to rewire my brain from Cadence Virtuoso (needed for IC mask layouts) to the PCB way of thinking. All the hot keys also being different. No good ! So I always made sure I had technicians to do the actual work with the PCB CAD tools. This helped me a lot to avoid a Gordian knot in my brain but now for my post retirement hobby I do see the lack of PCB CAD skills. It has been maybe 20 years ago when I used a PCB CAD tool myself.

 

Maybe you would do the work for me if I get too frustrated. Which PCB tool to you have ?

mrtitanic777's picture
Offline
Last seen: 4 weeks 1 hour ago
Joined: Jul 23 2020 - 04:40
Posts: 73
PCB Software

Bernie,

So for me I use CAM350 Pro, it's a very old software version, like 1994 - 2002. But it works beautifully, I can even import newly made gerbers straight into it and edit them. I have already MASSLY edited those open source gerber files to make it look JUST like the original, and all I can say is that it looks WONDERFUL! I have already publicly released the first revision of the modifications to the Apple-1 Enthusiasts group in Facebook, and I will post them here today.

 

Best,

Logan

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Uncle Bernie's improved ACI --- modified PCBs ready !

As I have mentioned above in post #7, I have been working on putting all the known ACI improvements into the Open Source Gerbers, so no trace cutting and no ugly wires are necessary anymore. Here is the result:

 

 

Can you spot the layout differences to the originals ? If so, are these differences offensive ? (Disregard the  white lot id  which JLCPCB has mindlessly slapped just over the TO TAPE text for this - Sigh ! It was the first prototype run of these PCBs, and this mistake will not be repeated ! I've edited this nasty lot number away as much as I could, but I did not want to erase the TO TAPE text.)

 

Here is  a picture of an original ACI which I found on Mike Willegal's website for comparision purposes:

 

 

Of course we have to ignore the different PCB materials and the different color of the solder mask and the different components.  I did my best to mimic the real thing as much as I could by using carbon composition resistors , but there is a limit of my patience when it comes to browsing through the shelves of electronic surplus stores.

 

Comments invited !

 

 

macnoyd's picture
Offline
Last seen: 12 hours 2 min ago
Joined: Oct 15 2012 - 08:59
Posts: 855
Looks really good UncleBernie

The only differences that are obvious to me are a few traces between a couple of IC's, but you can't make mods/fixes without that!

Nice reproduction IMHO and folks should be very happy with this.  Nice work!

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

Very good work! If it wasn't for the 5.1mohms resistor I wouldn't have noticed the difference. And just a question: what is the name of the LED on the original ACI card, 3mm? The normal one like yours has a diameter of 5mm. Also, in case you didn't know, you can use 7402, 7410 and 7474 without LS, I checked.

 

Thanks in advance!

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
3mm LED in the original ACI picture - it is the original LED ?

In post #11, Macintosh_nik wrote:

 

"And just a question: what is the name of the LED on the original ACI card, 3mm ?"

 

Uncle Bernie answers:

 

Yes, the one in the picture of the original ACI card is a 3mm LED. 

 

I prefer the 5mm ones for three reasons:

 

a) their "red dot" you can see is much larger, area wise, than a 3mm LED. If mounted with bent leads like shown pointing upwards,  then you can look downwards and you can see it very well. A 3mm LED would be just too small and flimsy and be harder to spot. The pulses from the ACI do not light those LEDs up very brightly, so you want a larger, better visible, dot size.

 

b)  you can still find  5mm LEDs which have the darker red plastic seen in the very first vintage LEDs from the early 1970s. This helps with the vintage look. More modern LEDs tend to have a plastic encapsulation that has a lighter red. I think the vintage ones have a little bit of blueish tint mixed into the red (of the plastic), but I'm not sure.

 

c) 5mm LEDs are much cheaper than 3mm LEDs, if you buy 1000 of them at once. Why pay 8x the price for  smaller and flimsier ones. I think I paid $12 for one thousand of the red 5mm LEDs.

 

But this was before I saw the photo of the original ACI card. I am old enough to remember the first LED I ever saw, in 1973 or so, it was like magic. It was 5mm. One of them did cost as much as a nice lunch in a roadside restaurant: some roasted pork, and some dumplings, and  one beer. I don't remember if they had 3mm LEDs back in the early/mid 1970s. I would like to know for certain if that 3mm LED in that ACI card was in it when they made the ACI in the year 1976.

 

Comments invited !

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

Thank you for your very comprehensive answer to my question, you are a treasure trove of valuable information as always.

 

It looks like all the original ACI cards had a 3mm LED, I will attach a photo of the board produced by SCC and NTI.

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Tests of the "improved ACI" PCBs are finished !

Dears fans,

 

I've finished all the tests of the new PCBs which incorporate all the improvements and changes known today and as I have published on Applefritter. So in the end it's nothing new, except that with the new PCBs there are no trace cuts and no added wires to implement "Uncle Bernie's improved ACI", leading to a much neater solution.

 

It works reasonable well as long as you use a good cassette recorder and a quality tape. These are the good news.

 

The bad news is that it's not yet at the same performance level as the cassette interface in the Apple II, despite the Apple II uses the same basic concept of both the TAPE IN and the TAPE OUT circuits and the firmware also is much the same as far as the method is concerned. A checksum was added in the Apple II (which my "extended format PROMs" for the ACI also have, so you can make tapes on the Apple-1 and read them into the Apple II). Normal ACI firmware PROMs just ignore the extra checksum byte, so everything stays fully forwards and backwards compatible.

 

However, the Apple II TAPE IN circuit has a slightly different circuit topology and it uses a 741 opamp in lieu of the LM311 comparator used in the ACI.

I don't know why they used the 741 (cheaper ? less temperamental in a lousy layout ?) as the theoretical performance of both circuits should be much the same (if everything is ideal). This can be proven by SPICE simulations and on the bench when using laboratory grade power supplies and signal generators.

 

Some new insights learned / discovered !

 

The only significant difference in the designed parameters for both circuits is the hysteresis: the Apple II circuit has a input referred hysteresis that is 2.9 times smaller than in the ACI circuit (input referred = TAPE IN). The Apple II circuit also attenuates the TAPE IN signal by a factor of 1/2, while the ACI circuit using a 100nF input coupling capacitor does not attenuate the signal in any significant way. The original ACI used 10nF which caused a lot of attenuation, requiring a higher signal amplitude which most cassette recorders and also typical media players can't provide.

 

My conjecture is that the cassette recorder which Woz used to develop the ACI must have had a much higher output amplitude than what we can get today, so high that it could light up the volume indicator LED circuit in its original form.

 

Had it been otherwise, the LED circuit could have been omitted because it would not have worked. Many people believe it's a botched design, and I also thought that initially, but now having all the facts on the table, I am inclined to think that it did work, back in the day, and with that particular cassette recorder Woz had used to develop it. Which may have had a different ear phone / head phone impedance. Not 8 Ohms as usual today, but higher. So, consequently, the signal amplitude available at the EAR OUT jack of that recorder must have been higher, too.

 

This conjecture brings another interesting insight: due to the much higher TAPE IN signal amplitude available with that cassette recorder, Woz was able to use a relatively large hysteresis in the comparator of the ACI. And this relatively large hysteresis is what we are fighting with today when we complain about insufficient volume of WAV or AIFF files or cassette recordings.

 

Now note that in the Apple II, the hysteresis on TAPE IN was significantly decreased over the ACI. This was certainly done for a reason. The most likely reason is that Woz had learned a lesson from Apple-1 users complaining about the ACI not working well enough with their own cassette recorders. I was told by insiders that Lisa Loop complained more about the cassette read troubles than about the random crashes of her Apple-1. So even back in the mid 1970s, there must have been cassette recorders with 8 Ohm outputs that could not produce a sufficiently high signal amplitude to make the ACI work well enough.

 

One idea that now comes in mind is to decrease the hysteresis of the ACI to the level seen in the Apple II, and all will be fine, and it would work without needing excessive volume settings. After all, the Apple II cassette interface worked well enough to keep Apple (the company) alive. Early Apple II users had to live with that cassette interface as the only available mass storage for the Apple II until the Disk II system came out in 1978. Apple (the company) would not exist today if the Apple II cassette interface has been as bad as the ACI was.

 

So why not reduce the hysteresis of the ACI to the level seen in the Apple II to have essentially the same performance as far as the tape read reliability is concerned ?

 

Well, I tried, and it does not work. The +5V power supply in the ACI is so badly polluted / noisy that all the high side resistors spit a lot of crud into the differential inputs of the comparator. Assuming that this is common mode noise that the comparator's differential input stage would reject is a fallacy, of course. Common mode rejection works only when the differential pair is balanced and sees exactly the same parasitic signal at both inputs. Since the positive feedback making the hysteresis imbalances the differential pair, its intrinsic common mode rejection is lost except for the case where it is at the trip point, and this does not help much. To make matters worse (you may want to look at the ACI schematic to understand the following), the impedance at the two differential inputs of the LM311 is not the same. The hysteresis setting resistor of 47K causes about 10% different impedance at the "+" input by itself, but what is much worse, the 100 nF input coupling capacitor causes a massive impedance mismatch at the "-" input (compared to the "+" input where there is no such capacitor). The ill effect of that input coupling capacitor becomes evident the instant you plug in the cassette recorder cable: in an ACI with reduced hysteresis, the LED lights up (a little bit at least) even if the cassette playback is off. This is the crud from the polluted +5V supply which spits into the comparator differential inputs via the high side 10 kOhm resistors, and sees a different impedance at these inputs, so the common mode disturbance at the +5V rail morphs into a differential signal, and the comparator trips erratically, if that parasitic differential signal gets larger than the hysteresis. So,  you can't reduce the hysteresis of the ACI to the Apple II level without additional changes in the circuit to remedy this ill effect.

 

So far the background. I could develop another mod to weed out this problem once and for all, to allow an Apple II style reduced hysteresis in the ACI, but I'm not sure if that is needed. I'm currently testing the improved ACI with a multitude of cassette recorders I bought on Ebay during the last months, and so far it works fine, except for one particularly bad cassette recorder that is still sold on Ebay in unopened plastic bubble shells. "Made in China", of course. It is absolutely terrible, a piece of junk, not worth even the $20-$30 they want for it. It will go to the landfill once my work on the ACI is complete. But maybe it deserves a medal of honor as this was the first cassette recorder I tried with the ACI and because it did not work to my satisfaction, I started the mission to improve the ACI. Without that crappy little recorder, there would be no "improved ACI".

 

I will post more on the ongoing work in the coming weeks and present some of the cassette recorders in a different thread, so people can see which ones are good and which ones are bad and which ones are ugly ("The Good, The Bad, and The Ugly", one of the greatest Italo Westerns of all time, it was the breakthrough for  Clint Eastwood's acting career).

 

Comments invited !Oh, I intend to make these improved ACI PCBs available for $10 including shipping within the USA, and for $25 in total I'll also add a set of "improved ACI" PROMs with my "extended format page". You could use regular ACI PROMs, though, they plug right in, no mods needed, but then your benefit is only that the volume indicator LED finally works. Send me a PM if you are interested to buy one (or more). I won't sell those on Ebay. It's just to get rid of the prototype PCB batch. My future kits will come with these "improved ACI" PCBs as a free bonus as long as supply lasts. This is not driven by greed for profit, I just want to avoid throwing them away - ordering 30 pcs from JLCPCB did cost not much more than just making a few, so I have too many left (essentially for the same money).

 

macnoyd's picture
Offline
Last seen: 12 hours 2 min ago
Joined: Oct 15 2012 - 08:59
Posts: 855
UncleBernie, put me down for 2 ...

UncleBernie, put me down for 2 ...  and I'm in the USA.  Thank you!

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

I built your board, it looks great and works even better. I really liked the quick load feature with the C500R command!

Thanks Uncle Bernie for your hard work!

Offline
Last seen: 9 months 4 weeks ago
Joined: Oct 28 2021 - 09:48
Posts: 28
Macintosh_nik wrote:I built
Macintosh_nik wrote:

I built your board, it looks great and works even better. I really liked the quick load feature with the C500R command!

 

I'm a bit puzzled about the orientation of those transistors... I guess that are different PNP/NPN types?

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
In post #17, pfuentes69 wrote

In post #17, pfuentes69 wrote:

 

I'm a bit puzzled about the orientation of those transistors... I guess that are different PNP/NPN types?

 

Uncle Bernie answers:

 

My "improved ACI" uses exactly the same visible electronic components as the  original ACI, except for the 5.1 MEG-Ohm resistor replacing the 100 kOhm resistor, so these are still NPN transistors. But what you see in macintosh_niks photo is what happens when you use typical European NPNs like the BC548C  which have the CBE sequence reversed from the MPS3704 (or the 2N3904 I provide with my kits).

 

I know that for certain because I've built one ACI with BC548C and then the orientation is turned 180 degrees, like in macinstosh_niks photo.

 

As a general rule, in the Apple-1 and in the ACI you can use any NPN small signal transitor except for the low beta high voltage types (advertised as "CRT cathode driver transistor" and such). As long as this rule is followed, the video output stage of the Apple-1 works fine. The ACI prefers to have NPNs with a beta better than 200, but 100 also works. You can select transistors with the "hfe" setting on any cheap digital multimeter having a transistor test socket. If you get the CBE sequence right, then your beta ("hfe") is good,  but if you reverse C and E then the transistor works in reverse mode and the beta will be poor, typically single digit. This happens because now the collector tub works as the emitter, and the tiny emitter dot tries to catch the electrons, but most elude it and escape via the base connection, so the current gain is very poor).

 

Other than the 180 degree orientation difference, European transistors work just fine in the ACI. There is no reason to hunt for the long extinct and expensive MPS3704. These still do exist and a specialized company still makes them in small batches but they cost more than 50 cents each, 10 x more than what a typical small signal NPN should cost.

Offline
Last seen: 9 months 4 weeks ago
Joined: Oct 28 2021 - 09:48
Posts: 28
Wow, I didn't know that this

Wow, I didn't know that this wasn't standardized... I understand now why sometime ago a went crazy with an small project...2

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

I have the Nation 3704, I just screwed up and put them backwards in a hurry. But everything works! Does it make sense to turn them around?

Offline
Last seen: 9 months 4 weeks ago
Joined: Oct 28 2021 - 09:48
Posts: 28
Oh! now this took an

Oh! now this took an "interesting twist" (pun intended) :)

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
About reversing transistors.

In post #20, macintosh_nik wrote:

 

"I have the Nation 3704, I just screwed up and put them backwards in a hurry. But everything works! Does it make sense to turn them around?"

 

Uncle Bernie answers:

 

Does "everything works" mean that the volume indicator LED also works as intended ? Shining nice and bright when there is a signal of sufficient volume on TAPE IN, and going dark when there is no such signal ?

 

I did not investigate this (no time for that) but for a reverse operation beta of 6...7 the Darlington configuration should have a compounded beta of 36...49 which is still very low, but might light up a (sensitive, low current) LED a little bit in some cases. Just a conjecture of mine.

 

In any case, before you change anything, try your transistors out in the transistor test socket of a multimeter. Maybe these transistors you have came from China and they are counterfeit and they were made from European style NPNs which have the reverse CBE sequence. Who knows. Nowadays we must expect that each and every electronic component you can buy is counterfeit. This applies to brake discs used in airliners, too. And all other "yellow tag" parts used in aviation, where such a counterfeit part can easily kill a few hundred people. There are counterfeit "high strength" bolts, too, which are just the usual weaker bolts, and these may end up in your car. I have the suspicion that most of the premature deaths of electronics PCBs in cars or household appliances - which plague the whole nation - are caused by counterfeit electronic components the crafty Chinese have substituted for the real ones, and then they sold the real ones on alibaba and other places. I know about this problem first hand - if you produce anything electronic in China, you must have at least two quality inspectors 24/7 on the manufacturing floor, otherwise the Chinese will change the reels with the valuable genuine parts against reels with counterfeit / crappy parts behind your back. And they try every trick in the book to disable your quality inspectors, such as invitation to dinners with a lot of alcoholic beverages etc., so the inspector is unable to do the job the next morning. This is when they change the reels.

 

BTW,  there are WORSE transistor pinouts where the base is not in the middle position. These must be avoided for the Apple-1 because despite you can bend the pins into the right sequence, the outcome always looks not quite right.

 

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

I moved my Nation 3704, the LED now burns noticeably brighter! I took a picture of everything, the first picture with the wrong oriented transistors, the second picture with the correct one. I bought them in the USA, not in China.

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Transistors in reverse mode still have gain !

In post #23, macintosh_nik wrote:

 

"I moved my Nation 3704, the LED now burns noticeably brighter ! "

 

Uncle Bernie comments:

 

You see, that with a sensitive LED even transistors in reverse mode can produce enough gain to light the LED up, although not as bright as it could be. As I have predicted in post #22.  Actually, there exist trick circuits within some analog ICs where this reverse mode operation is used to do certain work under certain conditions. There is still some current gain in reverse mode, although not much. But enough to do tricks.

 

Darlington operation is a very powerful concept. The current gain multiplies. So if you put three NPNs in Darlington configuration and each has a beta of 300, you get 300 x 300 x 300 = 27,000,000 (twenty seven million) in current gain.  Add a LED, a current limiting resistor for the LED, a 9V battery, and a 20" long stick antenna (i.e. from an old clothes hanger) and you have a "ghost detector" for your kids (if any). If a "ghost" is near, this device will detect it and the LED will light up. A lot of fun ! Because it's "magic".

 

(Actually, the "ghosts" being detected by this device are a few small charged particles which occur randomly and float around in the house, think dust etc. The circuit is closed to earth. So make sure to build the ghost detector such that the operator touches the circuit ground = minus pin of the 9V battery with his hand / fingers).

 

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Just an update / overview of my ongoing ACI improvement work !

Hi fans,

 

I wanted to show you the current state of affairs with improving the ACI. These are my rab lats, and like the real animal, they tend to multiply:

 

 

 

FROM LEFT TOP DOWN, THEN MIDDLE, THEN RIGHT SIDE:

 

741 -        The Apple II tape in circuit built on a Newton ACI card.

IMP -      The "improved" ACI as per this thread, handwired, cheap PCB.

IMP0V - The "improved" ACI modfied for +5V only operation (handwired Newton PCB).

GEN1 -   The 1st Gen "improved" ACI PCB, like IMP0V, all mods in the layout. This is the PCB version I gave away with my IC kits as a free bonus for a while. Now they are out of stock, never to come back again ! (So don't ask me). 

G1@2 -  The 2nd Gen "improved" ACI PCB, configured as a GEN1 circuit. 

ZD   -     The 2nd Gen PCB, configured for the Zener diode bias circuit ("ZD").

ZRC250 - The 2nd Gen PCB, configured for a ZRC250 bandgap reference based bias circuit.

SHNT -  The 2nd Gen PCB, configured for a LM4040 shunt regulator based bias circuit.

REG -     The 2nd Gen PCB, configured for a MCP1525 regulator based bias circuit. (Cheating).

 

All have the "improvements": volume indicator LED circuit fixed, 512 bytes of firmware. Except for the "741" circuit, all use the LM311 comparator.

 

"Gen 1" runs the LM311 off +5V only, so no negative supply needed for the ACI anymore. Other than that, all "Gen 1" circuits have the same TAPE IN circuit as the original ACI.

 

The "Gen 2" TAPE IN circuit is heavily modified to fix the ailments of the original circuit. These are under development. Alas, the company I ordered parts from sent me a completely wrong parcel, I got parts for what seems to be a "giant digital clock" project from another person. But without the parts I ordered I can't continue with this lab work on the Gen 2.

 

So, now you know the state of affairs. I hope that in the end I will arrive at a "Gen 2" ACI circuit  that will have the same hysteresis as the Apple II TAPE IN circuit, and still works robustly. The open question is if I need to add even more components (Gen 3 ?) to get the same dynamics as the Apple II circuit. (I hope this is not needed).

 

It would be really great if I could keep the LM311 comparator and not need to "cheat" with components which did not exist back in 1976. Other than the SMD form factor of the added components (needed to hide them from view, to keep the authentic "looks" of the ACI intact), all mods except "REG" are based on parts which in the non-SMD form were available even back in 1975.

 

A lot more development / lab work is required. I wanted to show you how extensive and tedious such development work can be. Had the two Steves had the time to do proper development on the ACI (instead of rushing it to the market), the Apple-1 would not have become that notorious / infamous. I've heard word from a well known early user of the original Apple-1, and she told the story that it was not so much the program crashes of the Apple-1 which were the problem for her mission, but also the difficulty that the unreliable ACI took too many attempts to load BASIC back into the machine. So I got the hunch it was primarily the botched ACI design which led to the frustration of Apple-1 users and eventually to the decision by Apple to "buy them back".

 

The Apple-1 motherboard does have its quirks, sure, possibly exacerbated by using cheaper, lower performance bypass capacitors for the 1st production run (aka "BYTE SHOP") version than the higher performance capacitors used in the first PCB based prototype (the one you can see in their ads). But I have analyzed the Apple-1 circuit down to the last gate and its overall digital design is sound, except for the few lousy DTL gates Woz made from discrete components to avoid to add yet another TTL package.  But having all the experience now with lots of kits sold and about 14 Apple-1 clones I have built myself, I doubt it was the Apple-1 motherboard alone which caused the "death penalty" via "buyback" and then destruction of these poor Apple-1. (It's not clear if they really destroyed them. Maybe they are still sitting in some Apple warehouse, where they (meaning: Apple, the corporation) keep the artifacts from their early days, and all the prototypes, etc.)

 

Comments invited !

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

Yeah, big project! I honestly only counted on one modified board, not 9. I'll be watching for updates with interest!

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Gen1 and Gen2 improved ACI PCBs have hidden components !

In post #26, Macintosh_nik wrote:

 

"I honestly only counted on one modified board, not 9."

 

Uncle Bernie answers:

 

For the Gen1 and Gen2 modified PCBs I made, all the extra components are hidden below the IC sockets.

 

I know that this brings some limitations (not all IC sockets can be used anymore, the precision machine contact types are best) but it's a better solution that to have all the extra components in plain sight.

 

I intend to do similar mods (meaning "invisible") to the Apple-1 motherboard in the future, so that the reliability mods - and perhaps the 20 kByte memory mod) do not disturb the "looks". But I'm not ready yet to do that. All the problems with the 20 kByte memory mod have not been sorted out yet. I have one hand wired prototype which works but I had to add a foul trick to make it work, which I consider to be a kludge, and not up to the quality standards I have for my work.

 

- Uncle Bernie

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
A first glimpse of the "Gen 2 improved ACI" PCB

This is the Gen2 "improved ACI" PCB component side:

 

 

HIDING THE MODS FROM SIGHT !

 

You can see that there are some SMD footprints strategically placed between the pad rows of DIL sockets. Most of them are under the DIL-8 socket for the LM311 comparator. Yes, I want to use that LM311, and not the 741 opamp, because the latter would need a negative supply voltage, while both the Gen1 and Gen2 PCBs using the LM311 can run from +5V only supplies - useful for "replica" type Apple-1 simulacrums based on more modern ICs. In real Apple-1 "clones" the negative supply voltage exists on the 44-pin daughter card connector, but in an unregulated form that is unfit for the 741 TAPE IN circuit seen in the Apple II. So an additional regulator (at least a zener diode and a resistor) would be required and hiding those from sight would only be possible by locating them under the IC #3 socket, and re-routing the negative supply voltage trace to this location is possible, but would even more visible clues of mods, which I want to avoid to preserve the original looks as much as I can.

So unless absolutely necessary, I will keep the LM311. Only if this fails to achieve the mission objective, there will be a Gen3 PCB, with the 741 ;-)

 

A LOT OF DEVELOPMENT WORK STILL NEEDED FOR GEN2 !

 

There are five options for different circuits on the Gen2 PCB. I expect different performance and robustness from each of them. All this must be assessed in the lab, on an Apple-1, because the effects of the hostile environment generated by the Apple-1 motherboard cannot be simulated in SPICE. This is frustrating. Otherwise I could shoot for the proper solution without trying each option in the real world. Alas, the real world is where the circuit has to perform. And ...

 

THE REAL WORLD CAN'T BE SIMULATED WITH SPICE !

 

This is why the industry still needs well equipped labs and a lot of development work done there. If everything could be simulated, penny-pinching managers would have long sold off the lab equipment, converted the space to cubicles, and laid off all the lab technicians.

Don't understand me wrong: SPICE is a great tool, and if it tells you your circuit won't work, it won't. But if it tells you your circuit works, it usually is an illusion, and the real world experience with that circuit will be ... different.

For rookie IC designers, it's usually catastrophically different, and for great IC designers, it's usually very close, but still different.

So SPICE is not a panacea. God forbid that it ever becomes able to simulate the real world: managers would fire all the expensive great IC designers and replace them with cheap H1B clowns from India who got a fraudulent M.S.E.E. from a fraudulent "university", much like the character Saul Goodman of "Breaking Bad" got his "Law  Diploma" from the University of American Samoa.

Not that the moronic managers don't try that already ... maybe 16 years ago I had a conversation with the CTO of a famous microchip company and he proudly explained that they had moved the design and development of their 8-bit microcontroller product line to Bucaresti, Romania. Yikes ! The likely outcome was certainly no good: "They pretend to pay us, and we pretend to work" (old Soviet Union adage).

 

SIGNS OF THE TIME

 

Coming to the U.S. of A. soon, just read the signs of the time: "Hiring now" signs everywhere but no takers. Something is  damn wrong with the GTP they offer for the irreplaceable RQLT spent on the "job". (For newcomers: GTP = Green Toilet Paper, RQLT = Residual Quality Life Time). In the Soviet Union it was not that the pay was too poor, or the prices were too high, no, the numbers actually looked great (on paper), the problem was that the "good pay" could not buy the desired items at the "great price" because the shelves were empty. Now look at the empty shelves with baby formula here in the USA to get the idea, and then think that every shelf would look like that in some dire future. With the occasional dinged up or rusted can of food still to be found.

 

But back to the Gen2 ACI. One of the five options is a Gen1 circuit implemented on a Gen2 PCB. For sake of easy and direct access, I will post that in the next post.

 

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
How to implement a Gen1 circuit on a Gen2 ACI PCB

This is a typical "Uncle Bernie" trick: always have a fallback solution. So if none of the proposed Gen2 circuits would perform as expected, that is, not be more robust than the tried-and-true Gen1 circuit, then the additional components for Gen2 would be a waste and the Gen1 circuit using less components would be the preferred solution. It's not so much the costs of the few SMD components, they are worth mere pennies, it's the RQLT wasted for sourcing them, handling them, and putting them in.

 

So here is how the Gen1 circuit can be implemented on a Gen2 PCB, step 1:

 

 

 

In this first step, a trace cut is made (red circle) and the 1nF and 100nF SMD capacitors are soldered in. Then, two solder connections are added (yellow lines). Within them is a short stub of blank wire, to keep the solder where it should be.

 

Step 2 is to add an insulated wire bridge between the outer two of the 10 kOhm resistors:

 

 

Then the other components go in as usual, see the photo in post #9 above in this thread. Note that precision machined contact IC sockets are preferred - I don't know if other socket types do have the required clearances on their bottom side to "hide" the SMD components without interfering with them. Also note that the "improved ACI" circuit uses a 5.1 MegOhm resistor in lieu of the 100 kOhm resistor.

 

The third and final step is to add a small wire stub (yellow line) to connect the input capacitor to the rest of the circuit:

 

 

And it's done !

 

This circuit is exactly the same as in the handwired "improved ACI" of post #1 above and in the Gen1 "improved ACI" PCB of post #9 above in this thread. It works perfectly fine when using most media players with AIFF or WAV files and it works OK with most quality cassette recorders in reasonably good shape.

 

EVEN DICTAPHONES MAY WORK WITH THE ACI !

 

I've had unexpected success with an "Olympus Pearlcorder S911" dictaphone style microcassette recorder using SONY MC-60 microcassettes:

 

 

 

The red arrow points to a 2.5mm to 3.5mm adapter which allows the use of standard 3.5mm audio cables with this recorder.

Tape speed was set to 2.4 cm/s, volume to 5.5 and for recording the microphone selector was set to "NORMAL". Since these dictaphone type microcassette recorders ain't exactly Hi-Fi "music" quality, as they were designed for voice applications, you would expect poor results, but not so, it works just fine. I've recorded and read back several programs using this "Pearlcorder" and this "G1@2" modified PCB (the center one of the "lab rats" in the photo of post #25 above), with no tape read errors.

 

MOTIVATIONS FOR GEN2 CIRCUITS

 

You might ask why I'm looking into Gen2 circuits when this Gen1 circuit works. Well, although Gen1 does fix the volume LED indicator circuit and enables the "extended formatting" page in my PROMs, it still has the same TAPE IN circuit as the original ACI, with its very high hysteresis that causes a multitude of issues in some applications:

 

First, the high hysteresis is the reason why some media players struggle with providing enough signal to the ACI (their volume setting must be cranked up to maximum, and sometimes even that is not enough, depending on the recording level in the WAF or AIFF file). This must be fixed. All media players should be able to work with the improved ACI.

 

Second, the high hysteresis also foils attempts to get a higher bit rate by using a more sophisticated modulation scheme. So it would be desirable to reduce the hysteresis to a somewhat lower level - such as seen in the Apple II TAPE IN circuit.

 

With the original TAPE IN circuit of the ACI the reduction of hysteresis to AppleII levels is not possible for various reasons. You could try by increasing the 47 kOhm resistor, but somewhere around 100 kOhm the noise in the system can overwhelm the hysteresis and the ACI won't work anymore. This ill effect will be explored in the companion thread:

 

https://www.applefritter.com/content/down-apple-cassette-interface-rabbit-hole

 

OUTLOOK

 

 

I will continue to report the progress of this ongoing work in both threads !

 

Stay tuned !

 

- Uncle Bernie

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

Thanks Uncle Bernie for your work! I'll be sure to put together your next modification of the ACI map as soon as the Gerber file becomes available. God give you health and many more years to come!

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Good first news about the Gen2 "improved ACI card" !

Hi fans -

 

yesterday the postman brought the 2nd parcel from that vendor who sent me some other customer's components instead of what I had ordered. This time - surprise, surprise ! - I got what I had ordered 3 weeks ago and could do first tests on the Gen2 "improved ACI card" with the real Gen2 circuits. But the loss of 2 weeks could not be recovered. I don't have that DeLorean ;-)

 

I found that with the simplest zener diode based biasing circuit the Gen2 runs even when hysteresis is reduced to 12 mV.

Even at this low hysteresis setting I see no spurious chatter of the LM311 comparator and my tape readbacks from the Pearlcorder worked just fine. Despite that the noise / crap level still infesting the circuit is more than one order of magnitude higher than the hysteresis. Oh, the magic of proper analog circuit design ! You can do things that look like miracles to the lesser minds. In the near future I will publish another post in the "Rabbit Hole" thread:

 

https://www.applefritter.com/content/down-apple-cassette-interface-rabbit-hole

 

where I explain how botched the original ACI circuit really is and I will show you the exact root cause why it is so bad. But my lab work on my brand new Gen2 circuits kept me from getting the older material into good enough shape to post.

 

Now there is still a lot of lab work to do. I want to optimize the sizing of the component values and do more tests, and study all the four variants using different biasing circuits. I don't want to go that low with the hysteresis in the final sizing, though. But the ability to do so  proves that the Gen2 circuit is "clean" and does behave according to my theoretical assumptions.

 

More on this progress will be reported as the work proceedes ! Stay tuned to this thread !

 

- Uncle Bernie

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Beta Testers wanted for Uncle Bernie's "Gen 2 improved ACI"

Hi  fans - 

 

After a lot of tedious lab work I'm now quite certain that the Gen2 circuit delivers the performance it was supposed to do. Truth to be told, I never questioned my modified circuit as far as my theoretical calculations and SPICE simulations went, but the "great unknown" was - and still is - an evil thing called "the real world". In analytical calculations and in SPICE simulations everything is nice and dandy because there are no "real world" effects. This leads to a world of wonders where Unicorns are farting rainbows and everybody is happy and everything works.  When that nice and dandy design then is confronted with the "real world" all hell breaks loose, and all the dreams are shattered. This is the reason why rookie IC designers are not worth their salary.  Actually, they are a negative asset, a liability. Instead of X amount of US$ as a salary they should pay X US$ to the company to be allowed to work there and to learn - over maybe 4 years - how the sausage really is being made so it's not gross and unedible. Sounds ridicolous ? Not so. The medieval guilds of craftsmen paid no salary to their apprentices, because these knew nothing and would spoil the material more often than not. So all they got is housing and food (on a poverty level, but they did not starve). Then, under the guidance of the master craftsman, they would learn their trade, and the most gifted and loyal ones where shown the higher level secrets. Oh, and in some cases, the parents had to pay the master for the education, a twist which became proverbial. Same as with today's outrageous college fees, except that back in the day it wasn't a scam: today you enter lifelong debt slavery for getting (in most cases) a worthless degree. With IC design it's much the same thing. As with all other fields of engineering and craftsmanship.  In the "real world" it's all based on knowledge you can't find in any college or university textbook. This said, even with 40+ years of experience in IC design I was not sure if my "improved ACI" circuit would work as intended in the real world. I'd love to start an alternative education system without the debt slavery, the imported moronic "professors" with their fraudulent Ph.D.'s,  and without the parasitic administrators, a sort of "People's University", but I'm running out of my own RQLT.

 

In the case of an improved ACI using  real cassette recorders, I can't know what the real world is. They all are different. It's terrible. How can you model them in SPICE ? It could be done but it would take years.

 

This is where you come in. If you have a cassette recorder for your Apple-1 and want to become a beta tester for the "Gen2 improved" ACI you can sign up right here.

 

Here are the rules:

 

1. Send me a personal message (use the "SEND PM" button) that you sign up as a beta tester.

2. The price of a Gen2 ACI beta test kit is $10 for the first one, $20 for the 2nd one, etc., up to #5 for $50, plus shipping ($5 in USA, $15 foreign)

3. The kit contains the Gen2 PCB and all the components except the IC sockets (you have to source yourself).

4. If you build the kit and test it and give me feedback how it works, you get $20 back. (So the first one makes a profit).

5. No warranty of any kind, if it doesn't work, or you are dissatisfied, you lose.

No money back !

6. Only five beta test kits available. Limited to one per person.

 

Frankly, I could give out these beta test kits for free but I don't like moochers.  You have to have skin in the game in order to be eligible to participate in the beta test. Fair deal !

 

And be aware that depending on the outcome of the beta test, I will put the remaining Gen2 PCBs in my famous IC kits as a free bonus. That's not unfair because the value of the naked PCB is only $2.50 --- you see I'm very open to you unlike these sneaky car dealers or, in case of ACI cards, those usurers on Ebay. I don't need the GTP (Green Toilet Paper).  The balance is for the other parts you cannot get for the money even if you are the last contender who has to pay $50. Last time I checked the guy who sources the two firmware PROMs takes $20 each plus shipping. And the mine have the "extended formatting page" which nobody else can offer (I own the copyright).

 

Now it's your turn. Be a trailblazer ! Become  a beta tester for Uncle Bernie's "Gen2 improved ACI" !

 

- Uncle Bernie  

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Uncle Bernie!

Too bad things have changed so quickly around here, in other circumstances I would definitely have tried it. I already have the GEN 1 board assembled and it works great, so I will have to keep enjoying it for now. Thanks Uncle Bernie!

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
The first of five Gen2 improved ACI kits has found a taker !

Still available are #2, #3, #4, #5, for $20, $30, $40 and $50 plus shipping ($5 in USA, $15 foreign).

People have asked me about the pricing policy, this is part of the experiment, to determine fair market price for such a  kit outside of Ebay.

 

- Uncle Bernie

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
All five Gen2 beta test kits have been spoken for !

So please don't send any more messages about getting one.

Of course I could make more of them but I don't want to have too many in the field for the beta test just in case they disappoint.

If the beta test is successful, and they work fine and don't disappoint, there will be more, so please be patient.

 

- Uncle Bernie

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Five beta test Gen2 improved ACI kits getting ready !

Hi fans -

 

here is how the Gen2 improved ACI gets are being made ready for shipment:

 

 

There are no IC sets visible in the photo, but they come with the kits. The only ACI components I don't furnish with the kits are the IC sockets, which you have to provide by yourself. If you request it, you can have a DIL-8 socket from me for free, but my DIL-14 and DIL-16 sockets are too tarnished for sale. You might also note that I have already soldered in one SMD capacitor and that the input capacitor (the disc capacitor on top) also is hand selected for matching (will not be ideal due to different types, I know). I want to get rid of this requirement of hand selected parts, hence, the beta test. Alas, the prevalent ill effects cannot be simulated, and everybody will use different cassette recorders, media players, and audio cables, so beta testing is the only way to find out if the new circuit is fit for the "real world" or not. If it's not, there is a fallback solution to the Gen1 circuit, which can be implemented on the Gen2 PCB, but then all the efforts and work with the Gen2 circuit and PCB mods was for naught. 

 

You can also see there is a trim pot and a carbon composition resistor in the right hand bags. The trim pot comes first, for the tests I ask you to do, which are quick (maybe 15-30 minutes ?) and after the work is done, the trim pot is substituted with the 300k resistor (which replaces the 47k hysteresis setting resistor of the original ACI circuit). I'm currently putting together the instructions for the beta testers, which was greatly delayed by problems with a new Linux installation on an old notebook, which stole 3 days of my precious RQLT. I've fixed most of the ills but my Linux guru hat is quite dusty. Oh man, what did they add into the system since the mid 1990s --- it's now almost the same mountain of code morass as the dreaded Windwoes "OS" which ain't no real operating system anyways, but a sort of virus. Still, it's fascinating to see Linux Mint 19.3 32 bit run on a Y1998 notebook, including the Mate desktop. And it seems to work now. Still don't know if it would freeze randomly as the upgrade process did. This was really nasty - not even a kernel panic, nothing, it just froze even when running with no GUI (in terminal / text mode). As two different legacy notebooks I tried had the same problem, it can only be the particular HDD or a bug in Linux itself. And a HDD fault should never hang any Linux system, this is definitely a no-no, and if a bad / wonky HDD could freeze the system, it's definitly rookie programmer league.  Let's see how this goes in the near future.

 

GOOD NEWS ! The Gen2 improved ACI beta test kit with #5 is still available. The guy who spoke for #2 and #4 did that inadvertently as he contacted me by two different ways, and since I get dozens of messages and emails every day, and the handles are not always the same, I reserved 2 kits for him. So now, one is left over.

 

#5 will cost you $50 plus shipping ($5 to USA, $15 to elsewhere). It's still a great deal as if you build it, beta test it as advised, and send me back the results, you will get $20 back as every other beta tester. There is no way you could build an ACI cheaper than that.

 

Any takers ? The last one ! Send me a PM if you want it !

 

- Uncle Bernie

Offline
Last seen: 1 month 1 week ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
Looks like a fun project, but

Looks like a fun project, but alas I have no Apple 1 to use it with...

 

macnoyd's picture
Offline
Last seen: 12 hours 2 min ago
Joined: Oct 15 2012 - 08:59
Posts: 855
LOL, what am I going to do

LOL, what am I going to do with all these boards Uncle Bernie? 

Put me in for the last one please.

Offline
Last seen: 9 hours 49 min ago
Joined: Apr 1 2020 - 16:46
Posts: 996
Good news on the Gen2 improved ACI !

After a week of focused work, I finally have completed all the tests and measurements, and found all the five circuit variants that can be built on the Gen2 PCB to be fit for service.

 

One of the variants of course is the fallback to Gen1, we can disregard that.

 

One of variants is "cheating", using a modern regulator IC that was not available in 1975. It brought no benefits over the other variants, although in theory (and from its datasheet) it would produce a "cleaner" bias voltage for the comparator network. It's quite possible it would allow very extreme sensitivity settings but I did not explore that,as the sensitivity settings that have been explored are good enough. I could do most cassette loads on a Panasonic RQ-2102 cassette recorder at a tad above volume setting 1 for the lower hysteresis settings, but in no case I needed more than a volume setting of 2 (from 9). So sensitivity is good enough !

 

The whole sensitivity setting issue is a sort of Goldilocks scenario, it must be just right. Not too high a sensitivity, and not too low, either. Too high a sensitivity means that normal tape noise can trip the comparator, and too low a sensitivity means you might need to set your source to be extremely loud, and some source, like some media players, might run out of loudness. This has been the case with the original ACI (and Gen1, using the unmodified TAPE IN circuit) on certain occasions. Which drove the desire to increase sensitivity by decreasing the hysteresis. However, on the original TAPE IN circuit, which is botched, reduction of hysteresis and increase of sensitivity to the desired level is impossible. There is too much noise made by the digital parts of the Apple-1 and the ACI to allow that.

 

So in the end we now have achieved the mission objective, modifying the TAPE IN circuit such that it works with higher sensitivity, and no audio source would need to be cranked up to MAX anymore.

 

There are three circuit variants left to do this, one is zener diode based, and two are "shunt regulator" based.

 

The zener diode based is the most honest solution, but because these low voltage zener diodes have a huge spread of their knee voltage (despite of 50 years progress in semiconductor process technology), you need to find a resistor which sets the current of the individual 2.5V zener diode you have got such that it really produces 2.5V --- this is best done with a 200 Ohm trim pot. After the setting for 2.5V is found, the trim pot is measured and a suitable 0805 SMD resistor is put into the circuit instead. Now, you can see the issues with this approach: you need a well equipped lab with a good SMD resistor values stock, and furthermore, this approach is not suited for "mass production".

 

So the preferred solution is to use either a SMD or TO92 bandgap reference based 2.5V "shunt regulator" which often is advertised as a "reference diode" despite it ain't no diode. These ICs became available in the early 1970s and were ubiquitous for a long time. Except that the SMD form was not available in 1975 yet. But the TO-92 (or similar) cheap plastic package form was available. If you file away some of the plastic of the IC package, you can squeeze one of them it the cavity between the pin rows of a typical IC socket.

 

So now all we need to wait for is the feedback from the beta testers. The first one already did the work and published the results here:

 

https://www.applefritter.com/content/uncle-bernies-gen-2-aci-briel-replica-1-plus

 

Note that this beta test was done on a Replica-1 and not on a clone, but I think the Replica-1, using more modern and faster CMOS ICs, may be an even more hostile environment for the ACI than any Apple-1 original or clone. This may have been the main reason why Vince Briel did not succeed to make the ACI work on the Replica-1, according to how the story is told, note that I know it only from hearsay and not from Vince himself.  The negative supply voltage lacking on the Replica-1 alone could not be the culprit IMHO - you could connect the corresponding pin on the 44-pin header to ground  and the LM311 comparator will do the same thing as with any negative voltage. Or pull the LM311 out of the socket and bend up its pin #4 and connect it to its pin #1, and put it back into the socket such that it does not connect to the socket pin #4 anymore (the negative supply). You can try this on any Apple-1 clone to prove that the ACI does not need a negative supply voltage at all. About 28 of Gen1 improved ACI cards have been successfully built by Apple-1 clone builders all around the world and it already dispensed with the negative supply on the LM311.

 

So the negative supply voltage on the ACI never was needed. Why did Woz use it ? My conjecture, based on the evidence at hand, is that he most likely had massive trouble with getting the ACI to work, and so it is quite reasonable to make the conjecture that several types of comparators other than the LM311 were tried. And the LM311 was quite new in 1975. Other, earlier comparators did need a negative supply voltage because they had no PNP inputs. I really would like to pick Woz' memory how the real story of the ACI went, but the man is not accessible even for me ;-), despite I'm the "guy who fixed the Apple-1" (tm)(c)(R) ... just joking about this trademark nonsense. There was not much to fix. Sure, the Apple-1 has some Achilles heel's brought about by the PCB layout and inadequate power supply bypassing capacitors, and some minor flaws like the few logic gates made with discrete diodes and resistors to save one or two TTL packages, but all of this could have been ironed out in a Rev 2 PCB, which however never came out, as Woz already was working on the Apple II at that time. The ACI however was a hopeless case, I still wonder who did that totally botched TAPE IN circuit, and I don't think it was Woz himself. Woz was a brilliant digital designer but probably took the circuit from a comparator datasheet not knowing that these applications engineers are tricky bastards and assume perfect and clean power supplies and no bouncing ground, ever. There is no clean power supply or ground anywhere in the Apple-1 when it is running. And at this point that original TAPE IN circuit starts to fall apart ... und must be tamed with excessively high hysteresis. Leading to low sensitivity. My conjecture is that Woz did not  fully understand these effects and experimented around, and at some point he may have asked some analog designer at Hewlett Packard or elsewhere, who probably mumbled something along the lines "impedance matching" and this is where the ridicolous specification of these four 10k resistors of 1% tolerances may have come from. Wasting all that money on these precision resistors did not help of course. I will shine some light on exactly what is wrong with this circuit in the last chapter of the "Rabbit Hole" thread here:

 

https://www.applefritter.com/content/down-apple-cassette-interface-rabbit-hole

 

The manuscript is already written but I need to make some supplemental documentation / drawings which is drudge work I loathe, so don't hold your  breath. But believe me that the root cause  is fixed in the Gen2 improved ACI circuit. We could run this improved circuit at a tenth of the hysteresis needed for the original ACI and it still works OK, although not great at this extreme setting. I have chosen a much more conservative hysteresis setting for the Gen2 release but before I can release it I need the results from the beta testers. There are some possible pitfalls I see that have nothing to do with circuit design, but with human factors, and I'm curious how that works out !

 

Comments invited !

 

- Uncle Bernie

 

 

 

Offline
Last seen: 2 days 14 hours ago
Joined: Dec 17 2020 - 09:16
Posts: 30
Beta Test #3 Successfull

Hi,

 

I want to share my test results after I have sent them to Uncle Bernie yesterday. He is about to review them soon.

 

Overall I am quite impressed about the new ACI Gen2. I did run the tests following Bernie´s instructions and found no "road block" at all. The ACI behaved as expected (or should I say wanted) and my tests loading files from Tape and also from an IPad with the proper modified Stereo cable

-->  https://www.applefritter.com/content/uncle-bernies-codebreaker-game-apple-1 

were all successfull. I tested with the several hysteresis settings by using the trim pot Bernie sent me. And there were 2 additional tests with the 10nF capacitor to test for sensiticity of impedance mismatch. 

Depending on the Test Setup I was able to load the files on a much lower signal level than with the original ACI. With one setup I was able to load from tape with only 20% of the maximum level. With the original ACI I used to use 80-90%

Furthermore it seems the Gen2 can work on a wider range of sound levels. No need anymore to find the sweet spot. The LED now also works in a helpful way. It stays off when the level is too low and goes on when you are close to the right level. It only happens to me once that the LED was on but the load fails. Just gave 10% more and it worked. The LED in my original ACI was always off.

 

I also tested with both ACI firmware, the original one (C100R) and the one Uncle Bernie developed (C500R). The new one is a big improvement as you dont need to enter the start and end address of you software you are about to load. I guess only the files saved with the new method/format is working with it.

 

With the original ACI I always struggled to load Basic from Tape. My success raste was around 50% and it always failed when I wanted to Demo my Replica to my friends. Loading Basic takes a while and required the perfect level setting plus a perfect tape with the old ACI. Now the Basic loads every time and from different sources. What a improvement :-)

 

Now the Apple-1 also becomes a real Apple product. (Sorry, Woz) Thank you Uncle Bernie for your hard work. Well done :-)

 

Greetings from Germany

Denis

Offline
Last seen: 18 hours 22 min ago
Joined: Jun 29 2018 - 16:55
Posts: 590
Great to hear of your success

Great to hear of your success Denis!

 

My beta testing experience was very similar, but of course using a Briel Replica 1, I didn't have an original ACI to compare it too. Still, unless I deliberately ride the volume threshold, it's 100 percent reliable. I have tested iPod, cassette, and even Bernies Turbo BASIC loader which requires a high fidelity sound to work. 

 

In my [sometimes] humble opinion, every apple1 owner should consider getting one of the new improved ACIs. 

Offline
Last seen: 1 year 7 months ago
Joined: Sep 27 2021 - 06:36
Posts: 8
Successful test of Beta Kit #4

Hello,

 

Here are my reactions after performing the tests per Uncle Bernies Beta Test protocol for the ACI Gen2 board that I have been testing!

 

I started out building the ACI Gen2 board with the remaining SMD components and while they are really small and fiddly, and my SMD soldering skills are rudimentary at best, I still managed to get this done with no real issues as I used plenty of flux and a fine tip on my soldering iron!

 

After building this up I started testing following the Beta Test protocol with the different hysteresis settings and noting the results using both Uncle Bernies small test program and the ACI firmware. After each step I also did a test of the tape load using both an old tape recorder that I normally use with my ZX80 and ZX81, a new really crap taperecorder that I picked up at Amazon (with a cheap Tanashin tape mechanism), an iPod Touch G2 and lastly an iPhone SE with their corresponding cables and adapters if needed.

While I can load BASIC using the iPhone SE and the original ACI about 40-50% of the time at pretty much full volume I have never been able to load anything with any of the other devices I have tested.

 

Switching over to the ACI Gen2 board everything changes! Drastically! Now I can suddenly load BASIC with roughly 40-60% volume depending on device with 100% success rate! Old-school taperecorders generally require slightly higher volume than electronic devices but now I have the possibility to check the level by using the LED on the ACI to see when the level is correct as it lights up whereas the LED in my original ACI never even flickered on once.

 

It is a treat to finally be able to use the Apple-1 as it was intended to back in the day and all of a sudden becomes useable as a retro device or something to show off to my friends! As others have said (and I can only agree wholeheartedly) thank you Uncle Bernie for the hard work!

 

I would 100% recommend anyone wanting to use their Apple-1 Replica for anything other than an ornament to pick up one of Uncle Bernies ACI Gen2 cards as it changes everything! My favourite pasttime on any of my retro computers is loading up BASIC and playing Super StarTrek the old-school way... just like back in the 1970's!

 

Greetings from Sweden,

Anders

Offline
Last seen: 5 hours 49 min ago
Joined: Nov 9 2023 - 22:13
Posts: 68
Latest status?

All,

 

What is the latest and greatest on the ACI? Uncle Bernie, are you still selling those as kits? Otherwise, is a PCB Gerber available?

 

I am not quite ready to climb that mountain, but I am trying to plan for components a little ahead.

 

UPDATE: And, talking about the ACI, the question of the PROMs arises again. They are hard to provision for the main board, but there we have nice adapters for EPROMs. Has anyone made an ACI board with support for an EPROM instead? Or a small adapter board?

 

Thanks,

 

-Erik

Offline
Last seen: 5 hours 49 min ago
Joined: Nov 9 2023 - 22:13
Posts: 68
I said: UPDATE: And, talking

I said:

 

UPDATE: And, talking about the ACI, the question of the PROMs arises again. They are hard to provision for the main board, but there we have nice adapters for EPROMs. Has anyone made an ACI board with support for an EPROM instead? Or a small adapter board?

 

Mmh, thinking more about it, I suppose that the content of the ACI PROMs can be included in the EPROMs on the main board's EPROM adapter! In that case, I suppose that the ACI PROM sockets can be left empty. Is my understanding correct?

-Erik

Offline
Last seen: 1 month 1 week ago
Joined: Jul 5 2018 - 09:44
Posts: 2587
I designed a similar EPROM

I designed a similar EPROM replacement board for the ACI to the one that PLabs did for the Apple-1 motherboard.  I've not really had a chance to test it yet.  If you were interested in doing so I could probably send you one.

 

Offline
Last seen: 5 hours 49 min ago
Joined: Nov 9 2023 - 22:13
Posts: 68
softwarejanitor wrote:I
softwarejanitor wrote:

I designed a similar EPROM replacement board for the ACI to the one that PLabs did for the Apple-1 motherboard.  I've not really had a chance to test it yet.  If you were interested in doing so I could probably send you one.

 

Thanks, that's great to know! I will very likely be interested when I get to that point, but that will take some time. Is the idea also to plug on the two PROM sockets?

Offline
Last seen: 9 months 3 weeks ago
Joined: Oct 9 2023 - 14:36
Posts: 12
I just ordered a board from

I just ordered a board from Newton computers on ebay. Is there a parts list somewhere so I can stock up? Kind regards,Jero32

Macintosh_nik's picture
Offline
Last seen: 4 hours 37 min ago
Joined: Jan 8 2021 - 05:18
Posts: 463
Hi Jero32!

You can find all the necessary information on assembling the Apple-1 replica on the website of the esteemed Mike Willegal. 

 

https://www.willegal.net/appleii/appleii-first_page.htm

Offline
Last seen: 9 months 3 weeks ago
Joined: Oct 9 2023 - 14:36
Posts: 12
Macintosh_nik wrote:You can
Macintosh_nik wrote:

You can find all the necessary information on assembling the Apple-1 replica on the website of the esteemed Mike Willegal. 

 

https://www.willegal.net/appleii/appleii-first_page.htm

 

That doesn't include the new SMD parts added by Uncle Bernie right?Thanks for the link though, it'll help me order most of the parts.

Offline
Last seen: 9 months 3 weeks ago
Joined: Oct 9 2023 - 14:36
Posts: 12
I can't edit my post above.

I can't edit my post above. But I just wanted to mention I have received the neccessary documentation. 

Offline
Last seen: 5 hours 49 min ago
Joined: Nov 9 2023 - 22:13
Posts: 68
I wrote:Mmh, thinking more
I wrote:

Mmh, thinking more about it, I suppose that the content of the ACI PROMs can be included in the EPROMs on the main board's EPROM adapter! In that case, I suppose that the ACI PROM sockets can be left empty. Is my understanding correct?

Thinking further, I realize that I was wrong: the main board EPROM adapter, plugging in onto the original PROM sockets, only has access to 8 bits of address, so that would only support 256 bytes of (E)PROM space. So another solution is needed for the ACI PROMs anyway.

 

Pages

Log in or register to post comments