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

Re: VM02 Beta 1



John B. Matthews wrote:
In article <ZTvzk.307$W06.20@flpi148.ffdc.sbc.com>,
 David Schmenk <dschmenk@YUCH.gmail.com> wrote:

John B. Matthews wrote:
I'm puzzled by Hello.java setting 80-column mode with "vm02.call(0, 0xC300);" commented out. What switches it to 40-columns after entering a name?
Ah, yes. Good eye! When adding the device driver code, I cleaned up some of the work-arounds I had. For the system I/O classes (System.out/in) I check for an 80 column card during object initialization and set it automatically. If you choose to use the lower level conio class, you will have to set 80 column mode explicitly with a tex80() call. I thought this would be a good compromise. Setting the mode back to 40 columns required the disable-80-column-mode control sequence (I send the codes for all the cards I know about). Here's the rub - I only have the ref manuals for the IIe/IIc video card and a Videx 80 column card. So if you have a different card that uses different control codes, it probably won't work. Send me the codes and I can add them. You may see the codes printed out briefly, but I then print backspaces to cover them up :-) I currently have one monolithic driver for the console, but when I get more information about the different cards, I will write a driver for each specific card to reduce the memory footprint.
[...]

I get similar results on KEGSMAC or KEGS-OSX, which emulate a //e 80 column card (ctrl-Q -> 40-columns, ctrl-R -> 80 columns, ctrl-U -> quit, etc.) I see LDA #26 in vm02.s under VM_WARMINIT, which does clear line on the //e 80 column firmware.

I see my MACHID ($BF98) is $B3 (%10110011), suggesting a 128K //e with 80 columns and clock.

110 * (Bit 3 off) BITS 7,6-  00=II  01=II+   10=IIe   11=/// EMULATION
111 * (Bit 3 on)  BITS 7,6-  00=NA  01=NA    10=//c   11=NA
112 *             BITS 5,4-  00=NA  01=48K   10=64K   11=128K
113 *             BIT  3  -  Modifier for MACHID Bits 7,6.
114 *             BIT  2  -  RESERVED FOR FUTURE DEFINITION.
115 *             BIT  1=1-  80 Column card
116 *             BIT  0=1-  Recognizable Clock Card

I'll poke around in io.s to see if anything jumps out.


That's it. The #26 is part of the control sequence for the Videx card: Ctrl-Z 1. Then a backspace in case it shows up. Then the next control code, #21, is for the IIe/IIc 80 column card.

Dave...