[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple II/II+ Question



Bryan Parkoff <BParkoff@satx.rr.com> wrote:

>     I want to understand how II/II+ motherboard look like.  I notice that
> there are 6 or 8 ROM chips beside 6502 CPU chip.

Six.  They are labelled D0, D8, E0, E8, F0 and F8, which correspond to
the high order byte of the address at which the ROM starts (D000 through
F800).  Each ROM chip is 2 kilobytes (2048 bytes).

> Are ROM chips contained Woz's original routines for II and revised
> routines for II+?

Steve Wozniak was the primary author of Integer BASIC, and contributed
to the original Apple ][ monitor and some additional support code.  All
of this is present in the ROMs for the original Apple ][, but most of it
is missing in the ][+.

In the ][+, the original Apple ][ monitor (now known as the "old
monitor") was replaced with the Autostart monitor.  This is mostly the
same as the original monitor, but it adds some features, the main one
being support for automatically booting from floppy disk drives.  Woz
designed the disk controller card, logic state sequencer, and presumably
wrote the firmware as well.  I don't recall who was the primary author
of the changes in the Autostart monitor.

The ][+ also replaced Woz's Integer BASIC (and some support routines,
including the Sweet-16 virtual machine and mini-assembler) with
Applesoft BASIC, which was mostly written by Microsoft, but incorporated
some code from Apple (mainly the hi-res graphics support).

> It is always clear that there are no Integer BASIC nor Applesoft BASIC in
> ROM chips except slot 0 controller card.

The "ROM Card" (or "Firmware Card") I mentioned in an earlier post is a
card sold by Apple which lets you install Applesoft BASIC and an
Autostart monitor in an original Apple ][, or Integer BASIC and and old
monitor in an Apple ][+.  It contains six ROM sockets (D0 through F8)
and a complete set of ROMs.  It has a switch on the back which selects
whether the motherboard or the firmware card takes control when the
machine is reset.

With this card installed in slot 0, your ][ or ][+ can run software
written in the native BASIC of either machine.

Some people liked Applesoft BASIC so much that they bought an Applesoft
firmware card for their Apple ][ then swapped the ROMs over, so they had
Applesoft BASIC on the motherboard and Integer BASIC on the firmware
card.

Apple also had Applesoft BASIC available on tape, so it could be loaded
into RAM on an original Apple ][.  Your Apple ][ needed at least 24 KB
of RAM to use this, and wouldn't have much RAM left to do anything
useful unless you had at least 32 KB (and preferably 48 KB).

When the floppy drive and DOS were introduced, you could load Applesoft
BASIC or Integer BASIC from disk instead of tape, which was much more
convenient.  I don't know offhand whether an early version of DOS
supported loading either BASIC into main memory (like loading the tape
version).

In 1978, Apple introduced the Apple II Language System, now known as
Apple II Pascal.  It included a 16 KB RAM card (the "language card")
which can be installed in slot 0.  This superseded the firmware card, as
it was a lot more flexible, supporting multiple languages (including
Pascal) rather than just one (Integer BASIC or Applesoft BASIC).

>     It does not make sense to me.  If I don't put slot 0 controller card on
> II+, II+ always returns to AppleSoft BASIC prompt after autostart.  What if
> it will be the same for II.

An unmodified original Apple ][ will leave you in the monitor (* prompt)
at startup, as it doesn't have any autostart facility (this was added in
the ][+).  If you type Ctrl-B RETURN to initialize BASIC, you will be in
Integer BASIC (> prompt).

In both cases, you are running the appropriate version of BASIC from
ROM.

>     If I use to load Integer BASIC from DOS 3.3 master disk without using
> slot 0 controller card, the error message says: "No language found".

That will actually be "No language _card_ found".  You will still be
able to run Applesoft BASIC on a ][+, because it is in ROM.

> It is what I understand that DOS 3.3 master disk has an ability to swap
> Integer BASIC and AppleSoft BASIC into RAM that only starts at $D000
> through $F7FF.

This RAM only exists on the language card, assuming it is installed in
slot 0.  The same range of memory locations are also implemented by the
ROM, with software able to control whether the ROM or the RAM card is
active.

> Question:
>     Please tell me where original and revised routines are found in ROM
> chip.  Please label each ROM chips for me.

I already did that in an earlier message.

The F8 ROM is the monitor (old monitor or autostart monitor as
appropriate).

Integer BASIC is in the E0, E8 and part of the F0 ROM.  The rest of the
F0 ROM is occupied by various support routines.

Apple never supplied any ROM for the D8 socket on the original Apple ][,
but they did provide a "Programmer's Aid #1" option which consisted of a
2 KB ROM chip to install in the D0 socket.  This provided a set of tools
for assisting with program development and some extra utilities such as
sound generation.

Applesoft BASIC is much bigger than Integer BASIC.  It occupies all of
the D0, D8, E0, E8 and F0 ROMs.

>     Are there two different slot 0 controller cardss that one is Integer
> BASIC and another one is AppleSoft BASIC?

There are two _firmware_ cards which had different sets of ROMs
preinstalled by Apple, one with Integer BASIC and the other with
Applesoft BASIC.  (The chips can be swapped, so it may be difficult to
identify what was originally supplied with a particular card.)

The "language card" (16 KB RAM card) supports anything you want to load
into it.  In an original Apple ][ it will typically contain Applesoft
BASIC, while in an Apple ][+ it will typically contain Integer BASIC,
assuming you have booted from a DOS 3.3 system master disk.

>     How many memory can II motherboard limit? How many memory can II+
> motherboard limit?

The ][ and ][+ motherboards are identical, apart from differences
between revisions.  There were late model Apple ][ machines which had
the same motherboard as Apple ][+ machines of the same age, but there
are also older Apple ][ motherboards which predate the ][+.

Every revision of the Apple ][/][+ motherboard supports a maximum of 48
KB of RAM.

The early revisions (Apple ][ only) may have been supplied with as
little as 4 KB of RAM, and can use either 4 kilobit or 16 kilobit RAM
chips, installed in blocks of eight, with three blocks supported.  The
possible memory capacities are 4 KB, 8 KB, 12 KB, 16 KB, 20 KB, 24 KB,
32 KB, 36 KB and 48 KB.

The late revisions (Apple ][ and ][+) may have been supplied with as
little as 16 KB of RAM, and they only support 16 kilobit RAM chips
(still installed in blocks of eight, with three blocks supported).  The
possible memory capacities are 16 KB, 32 KB or 48 KB.

-- 
David Empson
dempson@actrix.gen.nz