UNCLE BERNIE'S WOZ MACHINE BASED APPLE-1 FLOPPY DISK CONTROLLER

18 posts / 0 new
Last post
Offline
Last seen: 4 days 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 147
UNCLE BERNIE'S WOZ MACHINE BASED APPLE-1 FLOPPY DISK CONTROLLER

I've developed  a Woz Machine based floppy disk controller for the Apple-1, which was subject of this April Fool's joke:

 

https://www.applefritter.com/content/uncle-bernies-april-fools-day-apple-1-riddle

 

Here is a photo which shows the ICs and the functional sections:

 

 

These are the parts functionally identical to Apple's Disk II card:

 

7405                                                           - "Glue Logic"

74LS74,74LS299,GAL16V8/PAL16R6              - "Woz Machine"

74LS259                                                      - "Soft Switches"

74LS132 (1/2 of the IC)                                - "Drive Select"

555                                                             - "Motor Timer"

 

These are the Apple-1 specific additions I had to make:

 

74LS132 (1/2 of the IC), 74LS123             - "Clock Generator"

GAL16V8/PAL16R4                                   - "TFC"

 

These additions are necessary because the Apple-1 does not have a 2 MHz "Q3" clock on its bus, which clocks the Woz Machine, so the "Clock Generator" makes a substitute from the      1 MHz system clock. And the "TFC" is where the magic happens to make the whole thing work under the constant barrage of non-transparent DRAM refresh cycles, which steal CPU cycles and break Woz' original concept based on precise CPU cycle counting in all the timing critical RWTS routines.

 

As far as I can say 6 weeks into the development of the new RWTS routines, it does work, and it does work reliably. The "TFC" makes all the trouble with the stolen CPU cycles go away, like a Stage Magician makes all sorts of things, animals and even beautiful girls disappear in front of your eyes. True "Magic" !

 

Any interest / questions ? - Feel free to ask and post your comments in this thread. The more responses this thread gets, the higher the chance that I don't just shelve this project after I have completed the RWTS.

 

P.S.: for the "purists" among us: only using year 1978 "period correct" parts was an imperative requirement in my Objective Specification for this project. MMI reveiled the PAL to the public in March 1978. It was a game changer ! TTL and LSTTL became obsolete over night, technically, but not commercially, since they had a market momentum too large to die out quickly. But technically, the PAL killed them dead. Apple released their Disk-II system for sale 4 months later, in June 1978. Do not get distracted by my use of those GAL16V8 ... these are only used to emulate the precious and horribly expensive bipolar PAL16R4 and PAL16R6, which are very rare nowadays. The GAL16V8 is based on EEPROM CMOS technology and came out in 1985. But unlike PALs, GALs can be edited to make changes to the logic within. This is why I use them for the development work.

 

P.S.S.: Another riddle for you  (I'm the "Riddler" although I like "Iron Man" more): guess what the "TFC" stands for. Here is a hint: there is a movie about a close relative of this device having the same acronym but not exactly the same name. You can also guess the title of the movie. Try it ! Uncle Bernie's riddles always are fun ! Life without riddles to solve would be boring !

 

 

 

Macintosh_nik's picture
Online
Last seen: 4 min 49 sec ago
Joined: Jan 8 2021 - 05:18
Posts: 47
Hi Uncle Bernie!

Very glad that you realized your project. It's fantastic! I really like those black Apple floppy drives, I have 2 of them and would be happy to use them with the Apple-1. I would love to purchase a floppy drive builder like this. Thank you so much for this!

Toysoft's picture
Offline
Last seen: 2 weeks 17 hours ago
Joined: May 1 2021 - 18:10
Posts: 1
Wonderful job, would be fun to try it on the Apple Replica I

Wonderful job, would be fun to try it on the Apple Replica I

 

TS

Offline
Last seen: 7 hours 13 min ago
Joined: Apr 9 2021 - 04:31
Posts: 19
How does the software side

How does the software side look?

On the 1st April thread we can see you start a (test?) routine located at $0600 that seem to load a predefined set of sectors.

Did you creat already somekind of DOS?

If yes, would not it make sense to add an EPROM or PROMs to the PCB?

I think yes as you wrote:"Well, in the mid-1980s I wrote my own EPROM resident FMS which used only very little RAM, for all of its operations, including LOAD and SAVE of machine language programs, but it also had FORMAT, DIRECTORY, RENAME, DELETE"

Best

Stefan

 

Offline
Last seen: 8 hours 22 min ago
Joined: Feb 27 2021 - 18:59
Posts: 27
guess what the "TFC" stands

guess what the "TFC" stands for. Here is a hint: there is a movie about a close relative of this device having the same acronym but not exactly the same name. You can also guess the title of the movie.

That wouldn't be William Friedkin's 1971 masterpiece The French Connection?

Is the PAL device named "The Floppy Connection"?

Offline
Last seen: 4 days 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 147
It probably won't work on the Replica I ....
Toysoft wrote:

Wonderful job, would be fun to try it on the Apple Replica I

 

 

Sorry to say my Disk-1 controller is meant for the Apple-1, originals or clones, and not for replicas. There are two reasons:

 

a) the CMOS 6502 (all of them) do not have the "phantom read" in the STA abs,x instruction execution which the original NMOS 6502 have.

The "Woz Machine" in its original form requires the phantom read to work and this is not a cycle count issue, the problem roots deeper.

This is why Apple (the corporation) had to develop the "Integrated WOZ Machine", or IWM, for the Apple-IIc which uses a 65C02.

 

b) the floppy disk drives need -12V, +5V, +12V supply voltages. On the Apple-1 I can easily provide -12V and +5V but the +12V has to be fed in externally (this is the little header between the 20 pin disk drive connectors). I have an idea on how to make +12V from the unregulated -22V and +22V on the Apple-1 44-pin bus, but this requires a switchmode DC/DC converter topology for which no ready made controller IC exists. My desire to use only "period correct" parts is compounding the problem. Designing this DC/DC converter probably is the most difficult part in this project.

 

So what can you do to add a floppy disk system to the Replica-1 ?

 

You could try to get an IWM chip and make a small PCB for it. But you need to solve the power supply issue, too.

 

This would be an entirely different animal.

 

 

Offline
Last seen: 4 days 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 147
The software side is under development ...
natas666 wrote:

How does the software side look?

On the 1st April thread we can see you start a (test?) routine located at $0600 that seem to load a predefined set of sectors.

Did you creat already somekind of DOS?

If yes, would not it make sense to add an EPROM or PROMs to the PCB?

 

I'm now in the 7th week of writing and debugging the RWTS on the real hardware and so far it can read sectors and format a track, and it works well. Currently I'm developing the stepper motor driver routines to be able to access all tracks (and not only track 00).

 

The PCB will get an EPROM (2716 for extreme purists, 2732 for purists) but I intend to allow 28 pin EPROMs, too, as the JEDEC roadmap was laid out early enough to know, even back then, how the pinout of these 28-pin EPROMs would be.

 

Any such EPROM needs to be bank switched to provide 2KByte banks. This is because the other 2K are occupied by the I/Os, and I don't want to occupy more than 4K in the Apple-1 address space. (Sorry, I won't add more ICs to make the 2K I/O space smaller).

 

But based on my experience with the mini-DOS I once wrote for another well known 6502 computer I think that 4K (a 2732) would be enough to hold all the basic RWTS and FMS functions. And as a plan B, we still have 2764, 27128, 27256 ... but that would not be period correct.

 

At the moment I intend to continue the project until the RWTS is completed. It shall be Apple-1 and Apple-II compatible (on the Apple-II it needs an assembly switch but the changes this switch invokes are very trivial).

 

Let's see how much interest the small worldwide Apple-1 crowd shows in this project. Then I can decide whether I shelve it after the RWTS completion or whether I develop the hardware into something that can be "mass" produced. Not that I need to make profit out of it - the idea alone to make any profit with Apple-1 stuff is hilarious - but I just don't want to waste any of my valuable RQLT on things which I don't need to have.  As far as I'm concerned I would be perfectly satisfied if I could prove, at the RWTS level, that my concept is bug free and works as designed. My own motivation to tackle this project was threefold:

 

a) prove that I understand the Woz Machine and the RWTS in its original, unadultered form of 1978, a feat which I wanted to do for 40+ years but never had the time to do.

 

b) prove that I can make the original (1978 vintage) Woz Machine work on the Apple-1 despite of the non-transparent DRAM refresh, and without changing the Woz Machine architecture itself. This is only interesting because people in the know said it was "impossible". Making "impossible" things happen is a speciality of mine. I just had to do it once the challenge was out.

 

c) keep my professional skills sharp (despite I'm retired), to avoid brain rot, and as a Plan B if hyperinflation would turn us all into trillionaires. Then I would need to work again to earn myself a living.

 

(Did you ever wish to become a billionaire, dear reader ? Think again what you wish for !

Don't wish for a terrible fate !

If your wish was granted, we will not be better off than all the billionaires and trillionaires in Zimbabwe or Weimar Germany, which were starving because even a billion would not buy a loaf of bread ! --- Unintended consequences of stupid wishes !)

 

I think that I don't want to write the DOS. Not even a mini-DOS. I'm not too familiar with the Apple-II DOS3.3 file system. So I'd rather stop at the RWTS level, for which I am competent, and leave the rest to volunteers (if any).

 

 

 

Offline
Last seen: 1 day 3 min ago
Joined: Dec 21 2013 - 20:49
Posts: 52
Great work!

Uncle Bernie,

Fantastic job on Apple-1 floppy controller! You have really done some great work. Can't wait to complete my Apple-1 replica and get it working now. You can count me in as someone who would want your floppy controller.

Offline
Last seen: 7 hours 13 min ago
Joined: Apr 9 2021 - 04:31
Posts: 19
For the Apple I the CFFA1

For the Apple I the CFFA1 exists it has something like a DOS.

Not sure if it would make sense to use the same base and just replace the low level routines with yours.

I'm at the moment thinking how to interface this 64mbit mp3 player https://www.ebay.de/itm/402702110870

with the ACI my idea is to use a 74373 where you write your selection via WozMon into and a 74123 or NE555 activates the output long enough to start one of 255 stored tapes.

Simple effective, cheap about 5€ including shipment for the modul, the other parts should be about the same amount.

But the mp3 modules is for sure nothing from the 70th but atleast the way to select the mp3 file. Likely you will have problems to fill all 255 slots with usefull software.

 

Regarding a Floppy for the Apple 1 I, as a Commodore guy (Apple did not play a relevant role in Germany), was thinking about going the Commodore way,

why not use an intelligent Diskdrive and leave the work to the drive just send the command over and and receive the requested data or send it to the drive

and let the drive take care for the directory, Block Allocation Map and so on.

 The VC1541 was introduced 1982 and has unlike the 1979 parallel IEEE-488 drives a simple serial CBM-BUS aka IEC-BUS and is still easily availible.

The Hardware specs are beside interface and size same as the 1979 model:

Media: 5¼" floppy disk SS SD 170KBOperating system: CBM DOS 2.6CPU: MOS 6502 @ 1 MHz 2 KB RAM, 16 KB ROM

 

It is compatible with the Commodore VIC20 that has very compareable technical data like the Apple I it came also with 6502 CPU, only 5kB RAM and was introduced 1980.The DOS is floppy drive internal, on the Computer side you only find the BASIC commands LOAD, SAVE, there is no directory command as the directory is loaded as BASIC Listing,

you load it with LOAD"$",8 and type list to show it. There is also no DELETE command, you need to use OPEN1,8,15,"S:FILENAME":CLOSE1 to delete the File "FILENAME".

FORMATING work quite alike. The Signals for the Floppy-port are generated by parts of the two 6522 VIAs as the serial port inside this chip is broken and not used one 6520/6521 PIA could do the job aswell.

If your idea does not work out it would be also an alternative to interface a still widely availible Commodore Floppy.There are also a lot of modern replacements that work with SD-Card or with Raspberry Pi. (I know that is definatly not what you want.)

From my point of view there is no point to have a Apple 1 or 1:1 replica this thing has only one purpose after starting it up for a couple of times, and that is is to collect dust.Sure it's a nice thing for the showcase but not much more, atleast for me.I'm more interested in the modern interpretations like the Replica I or A-ONE, I like the FRAM board and the CFFA1 so for me there is no need for a floppy interface.But as most of this times that is not the question. The question is: Does someone take the challenge and proofs the persons that say it can not be done wrong?And it looks like you accepted the challange and come up with the undoable Apple I Floppy Interface with a disintegrated Woz Machine.I'm not an old school electronics expert so I would solve some things different, I would replace the PROMs and DRAMs completly with 32kB SRAM and 32kB FRAM and writeprotect some Blocks.My interpretation of the CFFA1 would not use a 3.3V CPLD, it would use a 5V version and an IDE header with a 32MB DOM. A Pi zero with HDMI and USB adapters is just 10€ and can replace the Terminal part, actually it could replace the complete Apple 1, but it's the cheapest way to get HDMI output and a USB Keyboard connected and it can also load files from SD-Card just connect the GPIOs to the PIA socket.

 

Don't get me wrong I absolutly like your invention!

But I would not spend money for it, as I don't have an Apple I, but I would definatly be interested how it works in detail just to learn how things got solved in the old times or in this case could have been solved.

Offline
Last seen: 4 days 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 147
"Intelligent Peripherals" are not a smart solution !

In post #9,  "natas666" wrote:

 

"Regarding a Floppy for the Apple 1 I, as a Commodore guy (Apple did not play a relevant role in Germany), was thinking about going the Commodore way, why not use an intelligent Diskdrive and leave the work to the drive just send the command over and and receive the requested data or send it to the driveand let the drive take care for the directory, Block Allocation Map and so on."

 

Other than the requirement to be faithful to Woz' original concept, which would rule out any "intelligent" floppy disk system anyways, it just would be wrong for the Apple-1 (and the Apple-II). Apple's Disk-II system is famous, and it is famous for a reason. Also, Woz himself regards his Disk-II controller card with his "Woz Machine" to be his true masterpiece. Why would anyone want to ignore that and replace it with something else ?

 

IMHO "intelligent peripherals" back in the day were not intelligent, but stupid, in the sense of a very stupid decision both of manufacturers and the buyers of these contraptions. Let me explain:

 

Anyone who was around and interested in microcomputers of the late 1970s and early 1980s inevitably ran into these "intelligent" peripherals, most of them being floppy disk stations. I think that these "intelligent" peripherals weren't smart, as their name implies, but  in truth, there were very stupid, if not moronic. Even back then I had gotten the impression that the concept of these assaults on our wallet and mental sanity could not possibly have been the work of real engineers, but they must have been conceived by moronic managers, the bane of all us real engineers, and the reason for the decline of all too many industries. See, the problem is that at least in the "hi-tech" industry these "managers" more often than not are lousy engineers who saw they could not achieve anything in engineering, so they went into management, but instead of just making sure the projects are properly budgeted and scheduled, they, being engineers, still want to meddle with technical decisions. Since they are lousy engineers, the outcome of this meddling are lousy products.

 

You see, there are a multitude of problems with these not-so-smart "intelligent" peripherals:

 

First of all, it's price. Instead of having one enclosure, one power supply, one motherboard, one CPU, one RAM, and one or two floppy disk drives, you had to pay for two enclosures, two motherboards, two CPUs, two RAM, and of course the same one or two one or two floppy disk drives. No wonder that all the "intelligent" floppy disk stations of the time did cost significantly more than the computer they were attached to, while Apple's Disk-II system did cost substantially less than the Apple-II itself. In fact, with their radically stripped-down solution, Apple had the cheapest floppy disk system in the whole marketplace. Which was key to the Apple being the lowest cost small business computer of the time being that could do text processing, inventory, accounting, and similar tasks. And catering to small businesses was where the real money could be made - not selling game machines to teenagers and the type of curious adults who always had to have technical novelties, and had the spare cash to buy them.

 

Problem number two is software updates. If you have "intelligent" peripherals their software typically is "firmware" in ROM. So any bug in, say, the file system manager, could only be fixed by changing ROMs, which typically required a service technician (not all computer users were technically inclined people who could swap ROMs by themselves). And making new ROMs is costly, and the costs have to be paid by the customers (plus a hefty profit margin). Apple's solution (and all others with a "dumb" floppy disk system) stored all their bug-ridden DOS software on the floppy disk. So bug fixes and updates were straightforward, quick and cheap.

 

Problem number three is maintenance. The "intelligent" peripheral is a complete small computer system with all the ills that can befall such a system. But unlike the host computer, it has no display and no keyboard. So if it is ill enough, it won't talk to the host anymore and due to the lack of any communication with it, the service technician is in a losing position (not for himself, for the customer, as for the technician it's many hours more he can bill).With a floppy disk system that lives in the host computer, such as Apple's, maintenance is much, much simpler and can be done by yourself. Dead computer ? Pull the peripheral cards out of the slots, and if it works again, you can identify the bad card by putting them back one by one. Bad floppy drive ? Swap the cables and see if the problem moves between D1 and D2. Then send the small (and lower postage) bad drive in for repair. Or order a new cable. Bad disk controller card ? Get a new one, it's cheap, with only 8 TTLs, and throw the bad one away.Contrast that with the huge, bulky and complex "intelligent" floppy disk stations Commodore had. Their big dual floppy disk stations were too large and heavy to send by parcel services and you had to haul them to a service center or pay a service technician for the trip to your place. And they charged a King's ransom for that, like the equally feared plumber or TV repairman. Only the plumber is still around ... like the roofer.

 

So which is the better solution ? I think the question is answered. I would never consider to ever buy an "intelligent peripheral" again, except if it's so cheap you just can throw it in the trash if it needs repair. Which nowadays, thanks to most microchips being a commodity made by the lowest bidder, and thanks to Chinese slave labor and Globalisation, are so cheap that nobody needs to repair them anymore. The times where a laser printer did cost the price of a small, new car are long gone. Now the value of a laser printer is being determined by the question how full its toner cartridge is. Remember the old joke:

 

Man drives his old car to used car dealership and asks for what he could get for it.Dealer responds with the question: "is the gas tank full or empty ?"

 

Then you know you really have a worthless car. Much the same now with home office laser printers. Which are an "intelligent" peripheral. But due to the effects of Moore's Law, computing power and memory got so ridicolously cheap nowadays that the electronics in that thing are basically worthless when the toner tank is empty. There was a time, long ago, almost half a century now, a Hewlett Packard scientific calculator did cost several hundred dollars when a nice steak at a restaurant was $5. Nowadays you can get a new scientific calculator at Dollar Tree for $1, and it has more functions on it than the HP. It can even do hexadecimal and binary. I got one of those 20 years ago when it was $10. They still make them, same chip inside, looks much the same, but nowadays they dump it for prices as cheap as it gets. The keys are crap, though, so I still use my HP.

 

These ridicolous prices for electronic commodity products are an enormous opportunity for the swinders who cook the CPI, but alas, we can't eat these calculators or DVD players. If we could, life would be cheap !

 

 

Offline
Last seen: 7 hours 13 min ago
Joined: Apr 9 2021 - 04:31
Posts: 19
It's a bit different in EU.

In the 80th you could not go to the next Computershop and buy an Apple Disk Drive or Apple II or a Clone, only a couple have been sold in Germany. Opposite to Commodore, Schneider, Atari, Sinclair, or XT. Commodore had a marketshare of 75% while Apple had something in the lower 1 digit numbers. 1985 you could buy for the price of the Apple II Europlus without anything a C64 with a Floppy Disk Drive and maybe even some Floppy Disks.I can not even remember ever having seen any Apple 8 Bit Computer in real life beside in the museum or on retro events. Even the badly sold C128 was sold worldwide more often than the Apple-II. The 680x0 Macintosh was a bit more common for business but private people mostly used emulation on Amiga in Germany.I'm born 1975 my first Computer I played with was the Sinclair ZX81 and that was 1981 or 1982 a C64 with Floppy followed 1984.The Floppy gerneration VC1541 was not as heavy as the one you write about and it weight is likely about same weight as the Disk 2 full hight Apple Drives. The later Model 1541-II is 1.6 kg without PSU.All post C64 3,5" Floppys have been sold as dump Floppy drives regardles if internal or external btw.

Sure the intelligent peripherals are not a costeffective solution but it was a working and commonly availible one.

A Commodore VC1541 on ebay is about 50€ and you have a wide selection of offers. For an Apple Drive you have exactly 0 offers in Germany and a whopping amount of 0 offers for Europe, and Worldwide shipment is usually far more than half of the 50€.

So I see no reason for me why I should prefere an Apple Drive.

DrZ
Offline
Last seen: 1 week 3 hours ago
Joined: Apr 22 2020 - 18:04
Posts: 12
Hi Uncle Bernie! Again -

Hi Uncle Bernie!

 

Again - wonderful work and - absolutely right - WOZ IWM and Floppy controller was the most impressive work ever done by WOZ and the Product that made Apple start over and earned the most revenue.

i absolute understand that this project was a thing you HAVE to do if possible.

 

efficiency is defind by getting the most out of anything.

 

smart peripherals are an example for not beeing efficient.

------

 

but i cannot agree to the comments on Commodore..

 

yes , 30M C64 compared to 7M Apple II is a lot.

but you compare apples with peaches .

 

Apple Ii design is from 1977. Beside the work on 6502 , Chuck Peedle developed the Pet2001 in 1976. The VIC20 came out 1980, the C64 1982. 

 

the Pet2001 was not very impressive in specs. and could be trchnically compared to Apple I.

 

And it is simply not true that Apple products did not appear in significant numbers in germany - in the 80s german schools have been equipped with apples..

 

Also i am not sure about the relevance of Commodore Machines in Business applications. i cannot remember to have seen any C64 as Office Computer. 

 

it remember there had bern a clear differenciation of Apple Ii users developing stuff for serious applications and Commodore users for gaming.

but thats my personal impression.

 

 

greetings from one of the fist amiga users from germany,

 

DrZ

 

 

 

Offline
Last seen: 7 hours 13 min ago
Joined: Apr 9 2021 - 04:31
Posts: 19
DrZ,

DrZ,

the VIC20 was the first home computer that had an integrated port for a disk drive to my knowledge.

The Pet2001 was mainly used as business computer and not very often as home computer.

I am born 1975 and from the Paderborn area and no School I know used Apple computer and you did not see them at Allkauf and other computer shops around in that area  I also do not know anyone owning one at that times.

In big cities the situation was properly different but from my side Apple was pretty much not existing before the Macintosh came out.

The main reason was properly that Apple was all the time very expensive.Even with cheap disk drives the system cost was over the cost of Commodore Computer with Disk Drive.

Otherwise the emulation and clones would not have been so successful.

Best

Stefan

 

 

DrZ
Offline
Last seen: 1 week 3 hours ago
Joined: Apr 22 2020 - 18:04
Posts: 12
Apple vs Commodore

Hi Stefan,

 

A Commodore vs. Apple Discussion would be much off topic in an Apple I user forum and - my opinion -should not be continued.

 

Also it is well known that personal knowledge not always represents reality, thats why people read books- or wiki..

 

To my knowledge the Commodore Floppy interfaces just as a serial device - so any computer generating serial data could use it.

 

As Uncle Bernie said, the reason not to have smart devices is that they could not be updated easily in case of errors.

 

the commodore floppy is one of the most famous flaws of smart devices in these days!

and i think uncle bernie wanted to be gentle and did not explicitly mention it as an example - excuse me: so i have to do that!

 

as mentioned before -reading helps-

a citation from wiki:

 

"The C-64's designers blamed the 1541's slow speed on the marketing department's insistence that the computer be compatible with the 1540, which was slow because of a flaw in the 6522 VIA interface controller"

And to take it a bit further:

 

"As implemented on the VIC-20 and C64, Commodore DOS transfers 300 bytes per second, compared to the Atari 810's 2,400 bytes per second, the Apple Disk II's 15,000 bytes per second"

 

Apple 1 Tape interface maybe faster.

 

millions of commodore users installed a "super floppy" parallel modification , a horrible hardare i often installed for some friends, of course voiding warranty, to get rid of that error.

 

as a conclusion i suggest we keep in mind that there is a dead slow serial floppy around which anyone may - or may not - use with serial output from any computer.

 

 

greeting

DrZ

Offline
Last seen: 7 hours 13 min ago
Joined: Apr 9 2021 - 04:31
Posts: 19
DrZ

DrZ,

after writing such a posting you expect me not to answer?

No, you are wrong about your serial theory if you would have read my post closely you would not have missed where I explained what it needs to get it useable serial Floppy Port, you are missing the software side. So, your conclusion is wrong. The software implementation on the C64 is the slow thing and can be speedup via software more than 20 times. In addition, for the little RAM of the Apple I the speed really does not matter.

So you see your example is by far not as good as you think. With a simple piece of software, you could place on the floppy disk itself or in a ROM or Module you could speed up the Floppy by the factor of 10-25 so it was already about 7kBps in reality. Many games had special loaders. If you added a little hardware mod with a parallel cable you could reach the factor 40 what is 12kBps.

No the Tape is not much faster it is less than 1333 baud = 166 Bps it’s about half as fast if you count in the prelead time it's 1/4 or maximum 1/3.

The parallel mods worked perfect even with two drives maybe it was your installation that made it horrible? I used different Commodore Drives with different Speeders even one with 512kB RAM. At that time not many people worried about warranty and any TV Repair shop offer professional installation. Even the software speeders usually as part of a module with lots of other useful functions already took the speed to an acceptable level. It was easy fixable but as they could sell it as it was, they did.

Best

Stefan

 

Offline
Last seen: 4 days 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 147
Hey --- please stop these off topic discussion about Commodore

... this is an Apple-1 forum, and Apple folks typically are not interested in Commodore stuff. Just to put end on this discussion here is my point of view:

Commodore was a lousy company making crappy products at the lowest possible cost, and Jack Tramiel was a terrible cheapskate who would not pay electronics or software designers well, so all the good ones left for other employers, and only the not-so-bright ones were left at Commodore.

Same issue at Atari. The Atari 400 and 800 custom chips were designed by top talent, a group under the legendary Jay Miner, who later went on to  design the much greater Amiga custom chips. But same thing here - some managers and bean counters at Warner decided that these exceptionally bright IC designers would not be paid more than they themselves made, so they made these top people leave. This is why Atari was unable to make any great products anymore (all the few later marvels like the Jaguar were designs bought from third parties). The 600XL and 800XL basically were the same old, lame tech in a re-styled enclosure. The Atari 810 floppy disk drive was an unreliable POS. The Atari 1050 was somewhat more reliable but sucked in a big way, slow and rattly. But I can't complain ... by designing, manufacturing and selling the solution I made my first million, the foundation of my fortune. Had the management at Atari not been so moronic and had they made better products, I could not have raked in all the money from their ineptitude. Thanks, you morons at Atari (doubt they are still alive, due to age).  You made my day !

Offline
Last seen: 7 hours 13 min ago
Joined: Apr 9 2021 - 04:31
Posts: 19
It was not intended to

It was not intended to escalate like that.

The question I brought up was, does it make sense to offload some of the work to make the software that is needed on the computer side smaller.

Okay I got the message that this is not Applestyle.

My other idea was it to reuse part of the code that is created for the CFFA1 and replace the IDE routines with floppy routines.

As the CFFA1 uses SRAM and an Option ROM I guess that is also not what you have in mind right?

Another option would be to port the Apple II ROMs for the Apple I.

My unsterstandig is you are basically rewriting this: https://github.com/cmosher01/Apple-II-Source/blob/master/src/dos/system/common/rwts.m4 and/or this https://github.com/cmosher01/Apple-II-Source/blob/master/src/dos/system/common/rwtsapi.m4 and also this: https://github.com/cmosher01/Apple-II-Source/blob/master/src/dos/controller/common/disk2.m4

If assembled with the rest of the DOS it should result to a working DOS correct?

Looks like thinks work really different on an Apple.

There is no DOS ROM only a Kickstarter PROM that reads (Track 0 Sector 0) which contains the code to read Track 0 (Sector (0)1-9) the RWTS (to my understanding that will allow to access the rest of the Disk) to memory and also the actuall DOS from Track 1-2.

So I guess your idea is to read the RWTS from EPROM into RAM (or use it diretly) skip Track 0 and directly load the the DOS from Track 1 and 2?

And this DOS hocks into the Apple II Basic Interpreter that is availible in ROM on Apple II.

As you are reading 16 sectors of a DOS3.3 Disk I guess you are going to be DOS3.3 compatible.

 

 

 

Offline
Last seen: 4 days 18 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 147
In post #17, natas666 wrote: 

In post #17, natas666 wrote:

 

"The question I brought up was, does it make sense to offload some of the work to make the software that is needed on the computer side smaller. "

 

Uncle Bernie answers:

 

Exactly this is the idea. I don't want to do all the work towards a fully functional Apple-1 floppy disk system myself, despite that I probably could do it, skill wise, but my RQLT is running out, so I can't spend any more RQLT on projects which don't look rewarding to me personally, because I've already been there and have done that (writing a DOS). For other coders out there, writing (or re-writing) a DOS3.3 compatible DOS for the Apple-1 may be a very rewarding and satisfying project, though.  I don't think it's a huge task in terms of time, as I got frustrated a few days ago with my stepper motor routines and so I put them aside for a short while and spent that afternoon writing an Apple-DOS3.3 compatible mockup DOS in "C". In the evening I had it at the point where I could load a dos33 image file found on the web, do a CATALOG dump, and open and read any file there found in the catalog. This was maybe four hours of coding. Adding the code to write / append a file would be maybe twice that effort, but since I didn't do that, it's a tentative estimate. So, maybe in two work days of eight hours each a good coder could write an Apple DOS3.3 compatible file management layer in "C". Once the algorithms are debugged, and the modified disk images produced can be loaded into an Apple-II emulator, and the real DOS3.3 does not complain, it would be ready for the next step, coding the same algorithms in 6502 assembly language. I have found that this is the most efficient way to approach any software project targeting microprocessors or microcomputers, despite you later throw away (or archive) the "C" source code. The reason is that once a certain complexity of the data structures is reached, debugging on a micro is far too inefficient and tedious. In "C" under Linux you have much better tools to handle any such complexities.

 

As for your other comments, you are right on how the Apple-II works. But I would not load the DOS from EPROM into RAM, the RAM on the Apple-1 being scarce. I would run it in the EPROM on the Disk-1 controller card. Which for purists, must be a 2716 (probably a bit too small) or a 2732 which came out in 1979. Bank select would be used. And almost no RAM would be used. Already in my "C" code for the FMS I have demonstrated the viability of  buffer techniques which greatly decrease the sector buffer RAM usage compared to the original Apple DOS3.3. There is a small performance penalty but since in my concept the smaller buffers can be dynamically adjusted in size, you can dial it to the same performance as the DOS3.3, and still need only about 60%-70% of the total buffer RAM. (I use "buffer RAM" as a term to discern it from the RAM which DOS3.3 needs to reside in by itself).

 

What do we need other than the FMS layer ? I think that most of the utilities code seen in DOS3.3 can be thrown away, as it deals with peculiarities of Microsoft BASIC and the language card,  etc., all does not apply to the Apple-1. We need a resident LOAD and SAVE utility for machine language programs, but that's all. It might even fit into the 2732. All the other utilities could be loaded when needed.

 

Now, if we use the otherwise useless track 00 (which in DOS3.3 can't have files in it) as a swap area for RAM, we could load any utilities such as FORMAT, DELETE, RENAME, LOCK, UNLOCK, COPY from floppy disk into any RAM segment, run it there, and then swap the previous RAM content back. Atari DOS II did that (the DUP = Disk Utility Programs part of it offered such a swap option).  Of course, any such utilities could also be EPROM resident if we would allow a larger device than a 2732, but purists would consider that to be "cheating", as it is not period correct.

 

So there is absolutely no reason why the Apple-1, with only 8K of RAM, could not become a very useful and capable machine if it only had a floppy disk system. I can tell you that with two floppy disks, D1 and D2, and only 8K of RAM, if the RWTS and FMS is in EPROM, you could run a PASCAL or "C" compiler. (The early 1970s versions, not GCC, which is a monster, but very powerful). Or, if you like, a FORTRAN compiler. In the 1950s and 1960s thay routinely ran such jobs on computers having less than 8Kbytes of RAM.

 

So far how I see the task at hand.

 

BTW, my stepper motor routines work now. They always had worked. Trying to hunt down the reason why they apparenty did not turn off the stepper motor after a track seek is completed was a wild goose chase. It was no bug in my code, it's a feature of the floppy disk drive I use. It turned out that these drives memorize the last stepper motor phase even if the controller turns it off. They keep the stepper motor energized until the drive select signal goes away. I wonder if original Apple-II drives had that same hidden feature.

 

More on my progress with the RWTS when I have more to say. Currently I'm fine tuning some aspects of the read code, I think I can make it smaller in  size without losing reliability, but these tests run for a long time, as they have to read 100000 sectors to get any meaningful error statistics. It's already that good !

 

 

 

 

 

 

 

 

 

Log in or register to post comments