"Oliver Schmidt" wrote in message news:3de349f8$0$29818$9b622d9e@news.freenet.de... > On Mon, 25 Nov 2002 21:38:03 -0000, "Tom Charlesworth" > wrote: > > >I've got an old Apple //e Techical Reference manual kicking about somewhere, > >so if you don't find the info you're after I can send you copies of the > >pages you need. > > >Also I seem to remember that Apple had all this documented > >online. Let me check... > > I've been search several times, but found nothing but the Tech Notes > which are very helpfull in general, but not with this issue. Perhaps > it's all too obvious for a //e guy ;-) > I never got into the //e as much as I did the ][+. My copy of the Tech Ref manual has a number of hand written corrections (c001 + c002 were reversed. the c07e c07f IOUDIS didn't seem to work) I never knew whether the TRM was wrong or if there were actual changes. > I'm not perfectly sure but I think "all" I need is a in depth > description of the C015 and C017soft switches. I didn't even remember these switches. It's been a long time since I looked at this stuff. So I guess the 80 column firmware doesn't have to do a CFFF deactivation of ext C8-CF space when it is used. But does it actually store the state on entry an restore it on exit? I wouldn't be surprised if the answer is different for old //e and enhanced //e firmware. The trm contains souce code for $c100-c4ff, c600-cfff,$f800-ffff Might be useful. But do a google search for "Apple C015" and I found a lot of good hits. CLRCXROM = $C006 ;use external slot C8-CF ROM (WR-only) SETCXROM = $C007 ; internal slot C8-CF ROM (WR-only) CLRAUXZP = $C008 ;use aux ZP, stack, & LC (WR-only) SETAUXZP = $C009 ; (WR-only) CLRC3ROM = $C00A ;use external (i/o card) slot C3 ROM (WR-only) SETC3ROM = $C00B ; internal slot C3 ROM (WR-only) Bit seven of these "RD..." locations is 1 if the condition is true RDLCBNK2 = $C011 ;reading from LC bank $Dx 2 RDLCRAM = $C012 ;reading from LC RAM RDRAMRD = $C013 ;reading from auxilliary 48K RDRAMWR = $C014 ;writing to auxilliary 48K RDCXROM = $C015 ;using external slot ROM RDAUXZP = $C016 ;using auxilliary ZP, stack, & LC RDC3ROM = $C017 ;using external slot C3 ROM RD80COL = $C018 ;using 80-column memory mapping RDVBLBAR = $C019 ;not VBL (VBL signal low) RDTEXT = $C01A ;using text mode RDMIXED = $C01B ;using mixed mode RDPAGE2 = $C01C ;using text/graphics page2 RDHIRES = $C01D ;using Hi-res graphics mode RDALTCH = $C01E ;using alternate character set ROM RD80VID = $C01F ;using 80-column display mode On Tue, 26 Nov 2002, Oliver Schmidt wrote: > I'm not perfectly sure but I think "all" I need is a in depth > description of the C015 and C017soft switches. Hi Oliver, honestly I can't see where your problem is. From your previous post I guess you think that there is some difference between the way an AppleII+ handles the slotrom and how an Apple//e does this. So far I haven't seen any difference except for the softswitches you mentioned, but I think you've implemented them already, otherwise AppleWin would not work, would it? Just to show you that there might be no problem at all, here are some snippets from my old book about the Apple//e: STA $c006 Enable Slot c100-cfff STA $c007 Enable Internal c100-cfff STA $c00a Enable Internal c300-c3ff STA $c00b Enable Slot c300-c3ff LDA $c015 BPL Slot c100-cfff active (this means: $0 | (last_key &0x7f) BMI Internal c100-cfff active (this means: $80 | (last_key &0x7f) LDA $c017 BPL Slot c300 -c3ff active (" ") BMI Internal c300-c3ff active (" ") Normales Rom $d000-$f7ff: Applesoft-ROM $f800-$ffff: F8-Monitor-ROM ferner zusaetzlich beim AppleIIe $c100-$cfff: Internes INTCXROM (Erweiterung des F8-Roms) $c300-$c3ff: Internes INTC3ROM (identisch mit $c300-$c3ff vom INTCXROM) INTCXROM-Routinen sollten stets so aufgerufen werden: STA $c007; Read-Enable Internal $c100-$cfff JSR ROUTINE STA $c006; Read-Enable Slot $c100-$cfff Wenn man das INTCXROM nicht mehr mit STA $c006 desaktiviert, kann auf Slot-Interface-Karten nicht mehr zugegriffen werden, weil dann deren RAM(sic! Wohl eher ROM) nicht mehr lesefaehig ist. Ein Drucker-Interface ist dann gewissermassen "tot". Umgekehrt ist beim neuen AppleIIc das INTCXROM staendig aktiv, weil periphere Slots im bisherigen Sinne gar nicht mehr existieren. Der AppleIIe hat zwei Slots 3, einen normalen, hinteren Slot 3 fuer beliebige Interface-Karten, sowie einen mitten auf der Platine plazierten, sogenannten internen Slot 3, der nur fuer die 64K-Karte bzw. Apple-80-Zeichenkarte bestimmt ist. Beide Slots 3 koennen nicht gleichzeitig belegt sein. Das INTC3ROM wird mit STA $c00a aktiviert und mit STA $c00b desaktiviert. Nach STA $c00b denken viele Programme und Betriebssysteme (Pascal usw.), dass eine 80-Zeichenkarte fehlt, wenngleich diese im internen Slot 3 steckt, da sie im normalen, aeusseren Slot 3 kein RAM vorfinden. Mit STA $c00b JMP $faa6; Bootadresse kann man dann z. B. fuer Pascal, Quickfile usw. 40-Zeichendarstellung erzwingen. Slot-Erweiterungs-ROM Jede Interface-Karte in den Slots 1-7 koennte theoretisch ein Zusatz-ROM haben, das adressmaessig dem Bereich $c800-$cfff entspricht. Allerdings kann zu einem gegebenen Zeitpunkt immer nur eines dieser Erweiterungs-ROMs aktiv sein. Die anderen ROMs werden mit LDA $cfff - ebenfalls eine Art Softswitch - desaktiviert. Grafikdump-Routinen von Drucker-Interface-Karten benutzen meist diesen C8-Bereich fuer ihre Dump-Routine. Alle Zitate aus: Ulrich Stiehl: Apple Assembler, Huethig, Heidelberg 1985, 2. Auflage. Was ich bislang auch nicht herausfinden konnte, war: Was sieht (d. h. liest) man bei Buszugriffen auf den Bereich $c800-$cfff, wenn ueber STA $c006 die Slots aktiviert sind, aber kein zusaetzliches Slotrom bei $c800-$cfff existiert? Wahrscheinlich dasselbe, wie bei einem unbesetzten Slot, also so etwas wie $aa oder $ff, oder doch den oberen Teil des internen INTCXROMs? Hmm... Ich glaube nicht, dass diese Information irgendwie weiterhelfen konnte, aber, wie gesagt, so ganz habe ich noch nicht verstanden, wo das Problem lag. Hier noch kurz ein paar andere (gleichlautende) Angaben von Mr. Jon Relay: C006 49158 SETSLOTCXROM E G W Peripheral ROM ($C100-$CFFF) C007 49159 SETINTCXROM E G W Internal ROM ($C100-$CFFF) C00A 49162 SETINTC3ROM E G W ROM in Slot 3 C00B 49163 SETSLOTC3ROM E G W ROM in Aux Slot C015 49173 RDCXROM E G R7 Status of Periph/ROM Access RSTXINT C R Reset Mouse X0 Interrupt C017 49175 RDC3ROM E G R7 Status of Slot 3/Aux Slot ROM RSTYINT C R Reset Mouse Y0 Interrupt (E = Apple IIe C = Apple IIc G = Apple IIgs) Fuer detailliertere Auskunft lohnt es sich vielleicht, Mr. David Empson zu fragen. Mit freundlichen Gruessen Holger P.S.: Uhm, haben Sie vielleicht rein zufaellig solch ein erweitertes Printer-ROM mit Graphic-Dump-Routine? Ich suche schon ziemlich lange nach so etwas, um es in meinen kleinen Emulator einbauen zu koennen. Bisher benutze ich nur ein einfaches 256 Byte Slot-Rom fuer die Druckeremulation. Falls Sie ueber so etwas verfuegen, koennten Sie es mir vielleicht zuschicken (sofern kein Copyright es verhindert)? Vielen Dank im voraus.