1

Was it possible to load integer basic and use it without a language card or were the addresses fixed to rom?

EDIT: Sorry, I meant Apple II+ (I had an europlus) so I wrongly put IIe.

  • Related: Apple Bowl, written in Integer BASIC, was re-released for the Apple IIgs as part of the GS/OS distribution. I think it used a tweaked version of BASIC (as opposed to being rewritten from scratch in a different language). There were also "unofficial" ways to run Integer programs under ProDOS, e.g. this. I'm pretty sure they all used some amount of extended memory though. – fadden Dec 23 '19 at 15:36
7

TL;DR;

Was it possible to load integer basic and use it without a language card

No, at least not as an official Apple product.

DOS 3.3 only supplied an Integer BASIC image to be loaded into Language Card. Then again, A.P.P.L.E. did sell a modified, relocable version of Integer BASIC, called Integer BASIC+, offering many extensions as well. It was published in Mai 1980 on disk at 17.50 USD.


How it happened

  • Original Apple II had Integer Basic in ROM.

  • In January 1978 the first Version of Applesoft (*1,2) was made available to be loaded (from cassette) into regular RAM.

  • In 1978 Applesoft ][ (*3) was created and made available in 5 versions (*4):

    • Loadable from cassette into RAM (*2,6).
    • Loadable from diskette into RAM (*2,6,7).
    • As Firmware Card holding the ROMs.
    • Loadable into Language Card.
    • Supplied as main board ROM.
  • With the Apple II+ introduction all machines had Applesoft in ROM.

  • Now the Firmware Card could be used to hold the Integer BASIC ROMs, still supporting manual switching.

  • DOS 3.1 (1978) supported switching between Applesoft and Integer BASIC in either mainboard ROM or Firmware Card using FPand INTcommands.

    • Applesoft would be loaded automatic from disk if not in ROM - by trying to load a file called 'APPLESOFT' (*5,6).

    • Integer BASIC could only be used from ROM - if not present (*8) a "LANGUAGE NOT PRESENT" error message was displayed.

  • Apple didn't supply Integer BASIC with DOS 3.1 or 3.2, but it was possible to load a ROM image into a Language Card and DOS would switch as if a Firmware Card were installed..

  • For DOS 3.3 the mechanics to select either BASIC were kept the same, but

  • RAM Applesoft was removed from the diskette.

  • It was no longer (by default) supported to run Applesoft on an Apple II with Integer BASIC in ROM without a Language Card

  • Two ROM images named FPBASIC and INTBASIC (*10) were supplied.

  • Loading either BASIC image to the Language Card was supported by utilities.

    • The Applesoft program HELLO did load INTBASIC into Language Card RAM

    • The Integer BASIC program APPLESOFT replaced the

  • To avoid false detection, DOS 3.3 did clear the first byte of Language Card RAM during cold boot (*9). If one had already loaded either BASIC there, it was necessary to patch that back or have DOS reload it - which happend automatic, when loading/running a related program from diskette.

Bottom line: For Apple never supplied Integer BASIC for RAM as a product.


*1 - Applesoft I, based on Microsoft BASIC 1.1.

*2 - Applesoft was fix loaded at $800 and extended up to $3000, right in the middle of Highres page 1.

*3 - Applesoft ][ was based on Microsoft BASIC 2.0

*4 - None of them was relocable.

*5 - To do so, the FP command does accept parameters for slot/drive/volume (INT doesn't).

*6 - The file was a clever hack of BASIC code plus binary. While the begin was a valid Integer BASIC program, the remaining was the binary image of cassette Applesoft. When started, the BASIC part did setup some vectors, printed a copyright message and started a routine to move the binary part to $800.

*7 - Starting it manually was a bad idea, as it unhooked DOS. When DOS started it (via the DOS FP command or implied for file type A), It used some wraping to warmboot afterwards, restoring all pointers needed to hook BASIC.

*8 - By testing address $E000. Applesoft starts with $4C (JMP) while Integer BASIC got a $20 (JSR) at this address.

*9 - Write $00 to $E000.

*10 - There are two different images for either available, distinguischable by size. The 50 sector versions delivered with the first (1980) version of DOS 3.3 contained the full 12 KiB of ROM, including the monitor, while the second (and third) version (1982/83) had 42 sectors. The monitor ROM was now excluded, as for the Apple IIe a different image would have been needed.

  • With DOS 3.2 - and I think 3.1, but won't swear to it - you could get both Integer BASIC and Applesoft BASIC on the DOS disk as shipped from Apple, and neither actually required the Apple Language System to be available. It may have required that at least 16K of RAM be installed in the computer, but I don't remember exactly how much was required - just that an 8K Apple II could not run Applesoft. – Jeff Zeitlin Dec 23 '19 at 14:47
  • @JeffZeitlin Only RAM Applesoft ][ was supplied with DOS. Integer BASIC had to be in mainboard or firmware card ROM, otherwise an error was reported. And yes, for Applesoft from tape/disk at least 16 KiB had to be installed, as Applesoft was loaded at $800 and needed 10 KiB. With that about 4 KiB were available for BASIC - with DOS it needed to be at minimum 24 KiB (which left 2.5 KiB for Programs). – Raffzahn Dec 25 '19 at 4:43
  • Thanks for your detailed answer. You say "For Apple there was never a reason to have Integer BASIC for RAM as a product in the first place", but you also say "A.P.P.L.E did sell a modified, relocable version of Integer BASIC, called Integer BASIC+". Both statements seem contradictory to me. Do you have more information about this Integer BASIC + ? – julodnik Dec 25 '19 at 11:31
  • 1
    @JeffZeitlin Sure, DOS 3.3 had an image called INTBASIC, that was (non relocable) for use with a Language card (I added clarification above). Just, the question is about Integer BASIC without using a Language Card. It's entirely possible that your father had some setup of his own using for example Integer BASIC plus - or some other patched version. After all, much can be done. Just Apple didn't offer any RAM Integer BASIC. – Raffzahn Dec 25 '19 at 17:34
  • 1
    @Raffzahn - I'll concede the possibility; I just remember one disk where he used the same command for loading INTEGER as he did for APPLESOFT on the II-not-plus, and another where the commands were FP and INT to cause the respective BASICs to be loaded off disk if needed (not in ROM or not already loaded). – Jeff Zeitlin Dec 25 '19 at 18:50
2

Integer BASIC as shipped by Apple in the original ROMs or on DOS diskettes was intended only to run at address E000 to F7FF. On the original Apple II this was ROM which held Integer BASIC. With the language card, it was possible to bank-switch in RAM into this area, and DOS would load a binary image of Integer BASIC, the same as the ROM version, into the RAM in this area, which would then run just like ROM Integer BASIC.

Technically, with a disassembly or the source code, it would not be terribly difficult to relocate Integer BASIC to run it elsewhere in the address space, like in the lower 48 KB of RAM. This would break anything that called into Integer BASIC machine routines at specific addresses, but otherwise should have no side effects aside from less RAM being available to Integer BASIC programs.

If you wanted to run DOS at the same time, you'd have to hack DOS to not overwrite the Integer BASIC in RAM, and to hook into its routines. This would also not be terribly difficult, if I'm remembering right.

I can't find anything online but I would be surprised if it hasn't already been done by someone. I also can't find the link right now, but I do remember reading about one hobbyist who adapted the earlier version of Woz's BASIC for the Apple 1, to run from RAM on an Apple II.

  • 2
    It was of couse done. Called Integer BASIC+, distributed by Call A.P.P.L.E., under licence of Apple.. – Raffzahn Dec 23 '19 at 19:38
0

The Apple II (pre-II+ or IIe) had Integer BASIC in ROM, and you didn’t need a language card to use it - and, in fact, if you had sufficient base RAM, you could load Applesoft BASIC from disk without a language card.

The Apple II+ and IIe both had Applesoft BASIC in ROM, so if you wanted Integer BASIC, you would have to load it from disk - but, again, if you had sufficient RAM, you still didn’t need a language card.

To the best of my recollection, the only time you needed a language card was when you were running a language or application based on the UCSD P-System, which formed the basis of Apple Pascal, Apple FORTRAN, and Apple PILOT (and there were others, but I don’t recall them offhand).

  • Mind to add some proof that there was a RAM (non language card) Integer BASIC supplied by Apple? – Raffzahn Dec 26 '19 at 20:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for?Browse other questions tagged or ask your own question.