[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple //f...
If you are going to make an Apple IIgs computer clone/successor then you will
have to use a fast CPU. Nobody is going to buy a slow 7Mhz computer. At least
use the fastest chip available for 65816s. There is a 20Mhz version available.
Tony Cianfaglione wrote:
> Found this on the net awhile back...
>
> The Apple //f: A Possible Future for the Apple //
> by
> Todd Whitesel
> 28-Feb-90 v.3
>
>
> This is the second rewrite of a paper that began with a purpose: to
> describe a successor to the Apple //gs that would be competitive in the low
> end. I must now add 'AND be worthy of the Apple logo', or at least of what
> the Apple logo used to stand for. (I address this in "Reality vs. Apple
> Computer" which was to be the preface to this writing but addresses enough
> issues besides neglect of the // to deserve its own paper.)
>
> The Apple // needs concrete support from Apple if it is to survive, and
> it MUST have a long term strategy if it is to eventually surpass its
> competitors in the low end. The Apple // is about the only machine left which
> is simple enough to be readily made into an inexpensive performer for the
> 90's, and this is one aspect of Apple's neglect which can be turned into an
> advantage.
>
> While producing a show-stopper that is IIGS compatible may sound like a
> tall order, I think Apple's exhaustive push into the business market has left
> it uniquely equipped. Molded cases and high-quality motherboards are
> manufactured inexpensively using Apple's latest technology. The only price we
> pay is that the surface mounted chip set cannot be cheaply upgraded.
>
> A new chip set should therefore be designed with the future in mind;
> its development cost will be returned many times by long term sales. The
> motherboard should also have special connectors to support direct CPU, video,
> sound, and ROM expansion which we can already see coming, and designing for
> them now while the chip set is still on the drawing board will save everyone
> lots of trouble and money later on.
>
> * * *
>
> The Apple //f: Product Description
>
>
> The Apple //f is a 16 bit Apple II compatible general purpose microcomputer
> and has the built-in features of the Apple IIGS. However, the motherboard has
> been thoroughly redesigned to add capability while reducing cost, and to
> eliminate shortcomings and bottlenecks inherent in the Apple IIGS.
>
> The Apple //f is also suited for many special purpose applications. Major
> market segments which would find the Apple //f particularly attractive
> include:
>
> Small Businesses
> Home Productivity
> Education, K-12 and College Level
> Music and MIDI
> Animation
> Video Overlay and Desktop Multimedia
> Enthusiasts and the Next Generation of Hackers
>
> Product features of the Apple //f and its system components are as follows.
>
> System Package:
>
> - Internal hard drives are sold standard with most system configurations
> - 20 MB 'Floptical' drives are available as alternatives to the hard drive
> - Hypercard GS (or equivalent) is provided as part of the System Software,
> along with an HFS File System Translator
> - Choice of ADB keyboards with every system package
> - CPU and all system components may be purchased separately for custom
> packages
> - Disk ]['s are available as an option
> - Every Apple product is backed by a one year warranty
> - Apple Customer Feedback Center addresses are provided
>
> CPU Case:
>
> - Compact case
> - Mounting brackets for two internal drives
> - Internal supports for peripheral cards; CPU may be stood on its side
> without stressing the expansion connectors
> - Drive mechanisms from Apple 3.5's and Unidisks may be mounted internally
> (installation kit required)
> - Heavy duty power supply, built in fan
> - Fan is slow and quiet, air flows straight from front to back
>
> Peripheral Ports:
>
> - SWIM Disk Port controlled by an independently running coprocessor
> - SCSI Ports, internal and external, support synchronous SCSI; also
> coprocessed
> - Stereo phone jack outputs true two-channel stereo
> - Game I/O port is now recognized by the ADB microcontroller as an ADB
> joystick
> - Two ADB ports
> - Composite NTSC video output
> - Analog RGB video output
> - Modem and Printer Ports; both may be used as Localtalk ports
>
> RGB Monitor:
>
> - has a high persistence picture tube with good beam focus, making it
> excellent for interlaced graphics and video overlay
> - accepts NTSC composite Video In, allowing it to be used with television
> oriented devices such as VCRs and video cameras
> - has two RCA jacks for stereo speakers built into the case, to complement
> the computer and provide a basic stereo option
> - comes with the necessary cables for connection to both computer and VCR for
> viewing videotapes or watching television while the computer is off
> - is now well worth the price
>
> CPU features:
>
> - 7 Mhz cached 65816 microprocessor; CPU, clock, and cache RAM are user
> upgradable to over 20 Mhz in anticipation of the ASIC Technologies 65816
> compatible
> - 'Processor direct' slot can enhance or replace the CPU and cache system, to
> allow high speed math coprocessing and Virtual Memory when cards
> supporting them become available
> - CPU controller and system bus support multiprocessing and real time bus
> functions such as external wait states, bus locking, bus errors,
> vectored interrupts, and breakpoints; everything, implemented or not, is
> available at the processor direct slot
>
> Memory System:
>
> - System RAM is expandable to 12 Megabytes via 8 industry standard SIMM
> sockets and is mapped to memory banks $00-$BF
> - 256K, 1M, and 4M SIMMs are supported in a variety of configurations having
> small upgrade steps between them
> - DRAM controller supports high speed access modes to improve cache and DMA
> performance
>
> DMA Controller:
>
> - Block transfers are performed with minimal intervention from the CPU
> - Source and destination of a given transfer may be anywhere in memory
> - DMA controller respects external wait states and all bus control functions
> - Run Length Encoding compression and decompression may be optionally
> performed during a transfer; PackBytes may also be supported; LZW would
> be nice but might be too expensive to include
> - Address offset list mode stores arbitrary data (or zeros) to arbitrary
> relative addresses in rapid succession; this may be used to quickly draw
> and erase fill mode animation frames
> - Bitmap copy and paste mode allows characters from font strikes in ROM to be
> moved directly to scratch areas in the Video RAM; the Blitter may be
> used to produce typestyle effects and then palette expand the text image
> onto a multicolor screen buffer
>
> Video System:
>
> - 128K of standard Video RAM mapped to Banks $E0-$E1; Video RAM is used to
> reduce the effect of video refresh on VRAM availability
> - Built in palette generator:
> - supports all 16 IIGS palettes
> - supports a single 256 color palette
> - supports full 12 bit color in anticipation of video RAM expansion
> - Fully programmable video generator and blitter unit
> - Video generator:
> - supports all Apple IIGS video modes
> - is a superset of the Standard Apple II and New Video Generators
> - allows buffer and display list start addresses to be programmed
> - uses display lists in VRAM to allow scan line addresses and display
> parameters to be programmed independently for each scan line; this
> allows cheap and effective acceleration of animations and the desktop
> - may be programmed to use external dot clocks
> - sync timing defaults to control panel settings which may be
> programmed to drive almost any monitor
> - fully supports interlaced video (NTSC and non-NTSC)
> - can lock onto external sync; accuracy may require optional hardware
> - refresh address generation supports pixel sizes of 1, 2, 4, 8, 16,
> and 32 bits in anticipation of Video RAM expansion
> - detects a programmable key color for video overlay applications
> - Blitter unit:
> - operates on data in Video RAM with minimal intervention from the CPU
> - uses video generator display lists for mapping X-Y coordinates into
> buffer addresses
> - performs BitBlts and palette expansions
> - performs line drawing and patterned area fills
> - Video RAM is expandable to an additional 1 Megabyte mapped as Banks
> $C0-$CF; Video RAM is added via a dedicated expansion connector and may
> be upgraded separately from the rest of the video system
> - 'Video direct' expansion connector:
> - allows the video generator, blitter, and palette generator to be
> partially or wholly pre-empted
> - interfaces to built in video generator features such as genlock,
> overlay, and frame capture with minimal 'glue' required
> - can get at the VRAMs and their shift registers directly; this could
> be used to do 24 bit display and frame capture someday
> - DIP socket for one external dot clock oscillator in addition to any
> available via the video direct connector; this allows a bare motherboard
> to drive other monitor resolutions if need be
>
>
> Sound System:
>
> - Sound RAM is 128K upgradable to 1 Megabyte via a SIMM socket; it is memory
> mapped and is DMA compatible to assist buffer refills
> - Enhanced Ensoniq DOC supports the additional sound RAM and fixes the swap
> mode bug of the original DOC chip
> - DOC registers are now memory mapped to simplify note sequencing and to make
> a slot-based DMA sound sequencer viable
> - 'Sound direct' expansion connector allows a high quality digitizer or
> Digital Signal Processor to be easily supported; provisions for simple
> 16 bit sound could also be made
>
> I/O System:
>
> - Serial Communications Controller is supported by the DMA controller for
> negligible overhead in serial port and AppleTalk reception
> - SCC registers are now memory mapped to assist time critical serial and
> AppleTalk drivers
> - 128K per expansion slot is reserved for faster expansion cards as Banks
> $E2-EF
> - I/O ($Cxxx) in Bank $E1 is allocated to internal I/O functions or is
> reserved for future use
> - SWIM and synchronous SCSI interfaces are controlled by a separate disk
> coprocessor with 32K dedicated RAM for 1:1 interleave reads and built-in
> cache support; the RAM interface is DMA compatible and the DMA
> controller handles the actual moving of the disk data
>
> ROM System:
>
> - ROM expandable to 1 Megabyte via a ROM SIMM upgrade, mapped to Banks $F0-FF
> - ROM contents:
> - most recent toolbox revision in its entirety
> - Quickdraw fully supports the blitter, DMA, and programmable video
> generator
> - Memory Manager is enhanced to support the sound and video RAM
> - standard font set
> - latest smartport firmware; for example, an intelligent Disk ][ driver
> - 8 bit Applesoft BASIC
> - 16 bit BASIC interpreter which is fully toolbox compliant and may be
> invoked via a Reset command or Finder
> - New tool set for standard desktop operations (i.e. MacApp in ROM),
> this is used by the new BASIC and any application which does not want to
> reinvent the wheel of a standard HIG desktop
> - ROMdisk driver for the ROM/EPROM disk connector
> - EPROM disk:
> - is located on a small dedicated connector to reduce motherboard costs
> - may be up to 16 Megabytes in size
> - is accessed via a 'slinky' style interface for Write Once Read Many
> programming of 12V EPROMs
> - is DMA compatible for ROMdisk reads
>
> * * *
>
> Design Ideas and Techno Ramble
>
>
> (Warning. Many of these ideas are fairly sketchy and some are downright
> contradictory. Somebody else knows what I don't so I'll put all this down in
> hopes it gives somebody an idea that works.)
>
> The idea of direct slots is the most important one I am suggesting. If
> the motherboard is just going to be tossed within a few years then don't
> bother making it. The unique way Apple manufactures their computers has a
> limitation which only the direct slots and support for faster standard slots
> can address in the eyes of people who buy with their own money.
>
> The connectors themselves would not have to be Euro's which are pretty
> expensive (lots of pins), maybe they could be D-sub's or something else which
> gets good contact but does not require excessive through-holes in the
> motherboard. Surface mounting the actual pins and providing support via
> something in a few drilled holes would be cost effective, but I don't know
> what the latest developments are so I submit this idea for consideration.
>
> All digital system timing could be derived from one crystal (say 28 Mhz
> or up); each memory or I/O system would divide off what they need to run
> optimally without metastability problems. Wait states (use the RDY pin for
> this, and then stretch the CPU clock instead) could then be inserted to the
> main clock resolution and not to the CPU clock resolution which really costs
> at relatively slow CPU speeds. The only problem here is making sure that slow
> slot DMA reads and writes still work, but I think if the bus arbitration
> respects it then it will not be a problem.
>
> The 16 bit BASIC is also really important. If we could write desktop
> programs that use the full capability of the machine (Appletalk, sound,
> video, etc) from an efficiently interpreted language built into ROM then it
> would open new markets by itself as people muck about and produce usable
> programs with it. This BASIC would have to have learned all the lessons of
> AppleSloth of course, and BASIC enhancers produced years ago solved most of
> these problems, except they weren't widespread enough to become standards. I
> propose we leave 8 bit Applesoft alone for compatibility and simple hacks and
> forge a new BASIC which is really at home in the machine.
>
> A fast bus extension may not really be necessary, but would be a good
> idea. It would mean finally using all the pins Woz gave us and recycling a
> few which are now useless like Inhibit. The only applications which really
> require the fast bus (given that we have an efficient DMA controller) are
> high-bandwidth ones like video frame capture and CPU acceleration, and the
> direct slots take care of that. I tried to come up with a viable fast bus in
> the first writing of this paper but it was too far-reaching for my experience
> and I couldn't work out the details.
>
> In any case, DMA protocols MUST be specified or we will probably hate
> ourselves later for it. For instance, the rule that I want to see enforced is
> "Thou Shalt Use RDY" because wait states are a useful concept which we can
> afford to implement. Specifying timing values on DMA IN/OUT and running them
> to a DMA arbiter would simplify things greatly if it didn't cost too much.
> True vectored interrupts are also a must because the present O/S overhead on
> interrupts is simply disgusting compared to the overhead inherent in the CPU.
>
> One thing I would really like to see is each memory and I/O system
> having its own DMA address generators. These could be built into the DRAM
> address multiplexers on the GLU chips, and the DMA controller could then send
> raw transfers straight across the data bus instead of reading and writing
> them manually. However, if the system runs too asynchronously we have delays
> and arbitration problems to deal with. Running the vast majority of the
> machine at an acceptable but constant speed like 3.58 Mhz would be OK for
> this but then there is the problem of DMA request and acknowledge lines
> running everywhere.
>
> Another thing which I tried to get at in the first writing was the idea
> of each device having one or more DMA channels, which would have ready lines
> and be able to get on and off a high speed data bus (say 14 mhz) as well as
> latch data bytes from it; this would allow the source to read n bytes into a
> little FIFO, request DMA, get the bus and transmit to the target's FIFO, and
> then load more if it still has to. The target then gets around to writing
> them however it wishes, and asserts DMA ready again and the process repeats,
> somewhat piplined but very efficient in terms of bandwidth usage. The cost
> would too high but since most of the guts goes into the custom
> chips then it really depends on just how cheap Apple can make them.
>
> However, this idea does have some interesting properties: You get
> bandwidth to spare because of the automatically split transactions handled by
> the bus arbitrator; the slots could each be isolated by a surface mount HCT
> transceiver to keep slow cards from mucking with the bus, and using a 646
> would mean cheap 'latch-on-write' and a 1 byte FIFO in each direction for the
> bus cards; there would be no arbitration overhead because it is all done
> outside the bus itself.
>
> This would of course all come at the cost of many control lines running
> to the bus and DMA arbiter so I don't think it will be cost effective
> compared to the direct slot approach. But if somebody at Apple can find a
> way, we might get a fast bus for relatively cheap and that is something the
> world needs. NuBus is industrial strength and is more powerful and expensive
> to match. The we ought to at least define it in full and define
> features that make life easier and cheaper on everyone, which is what it's
> really all about.
>
> * * *
>
> Comments, questions, etc. to the addresses below. I can napkin out
> quite a few implementation ideas, and I'd be happy to explain myself if
> somebody doubts me. And who knows? One of us might learn something.
>
> Todd Whitesel
>
> toddpw @ tybalt.caltech.edu (internet)
> toddpw (America Online)
> 1-55 Caltech, Pasadena, CA 91126 (US Snail)
>
> This document may be distributed, posted, and made available for downloading
> so long as it is preserved in its entirety.
>