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

Re: VM02 Beta 1



John B. Matthews wrote:
In article <9F%yk.355$YU2.75@nlpi066.nbdc.sbc.com>,
 David Schmenk <dschmenk@YUCH.gmail.com> wrote:

<http://schmenk.is-a-geek.com/tarfiles/VM02BETA1.DSK.zip>
<http://schmenk.is-a-geek.com/tarfiles/vm02.beta1.src.zip>
[...] SourceForge [...]

Wurks gud:-) Thank you!

Awsum!


Several folks here work on SourceForge projects. Let me know how I can help.

Thanks John- I've got a couple already there so it shouldn't be a problem to migrate. I'll post a message, then start signing people up for developer access.


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?

[Sorry for the delay in responding; Ike took out the power here for the best part of a day.]


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.

Besides the device drivers, the other major change since alpha was the restart code. Instead of forcing a reboot when the program exits, it now gives the option of reboot or run another Java program. This hasn't been extensively tested so I expect to come across some problems. In order to restart without having to write a lot of code, I simply reload the VM02 binary on top of itself and jump to a warm init routine. This reloads all the initialization code, which is what I was after. If you find a failure after running a program (like a lockup or crash to monitor) it's probably due to the restart code.

Thanks for taking the time to check it out,

Dave...