• Porting AppleWorks to a hypothetical V9938 card?

    From Steve Nickolas@usotsuki@buric.co to comp.sys.apple2 on Thu Mar 21 21:14:20 2024
    From Newsgroup: comp.sys.apple2

    So I've been working with the hypothetical "V9938 EZCGI" emulated in MAME (-sl5 ezcgi9938), and it got me to thinking about the possibility of
    hijacking the AppleWorks startup, much as with the VideoTerm, to make a version that runs off the V9938 to use *its* 80x24 text mode, instead of
    that of an 80-column card.

    Obviously we know the VideoTerm was able to be used this way - and I understand the code in question is located in APLWORKS.SYSTEM, so it's
    going to be very much version-specific any way one cuts it.
    Pragmatically, 2.1 is the latest version I'm willing to hack on. The
    closest thing I have to documentation is an article in Apple Assembly
    Line, but it's kind-of hazy, so I've been trying to reverse-engineer the
    same 1.3 they worked from to try to come to a more complete understanding. Theoretically, I can't imagine it requiring too much change - just new pre-init code to set up the V9938 (which I have written and tested) and
    a way to replace "place this value at this screen coordinate" with a 9938 equivalent?

    -uso.
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Steve Nickolas@usotsuki@buric.co to comp.sys.apple2 on Fri Mar 22 05:07:05 2024
    From Newsgroup: comp.sys.apple2

    First stage:

    I've drafted up replacements for two functions, BASCALC (1717 in v1.3) and CLREOL (173A in v1.3). Two more functions, SCROLL (15CA in v1.3) and
    SCRLLR (unknown location, connected to the function at 165E in v1.3) would need to be written and crammed into the original space, and the JSR $C300 (235D in v1.3) routed to additional code at the end of APLWORKS.SYSTEM
    that would initialize the V9938.

    The code is untested, because patching in the replacements kind-of has to
    be all or nothing. I think I can try to make a "universal" patcher that
    can cover 1.0-2.1 and a V9938/V9958 in any slot (provided that the slot is known at patch time, as without a ROM there's no safe way to identify it).

    If it were up to me, I think I'd add a ROM with console drivers and a font
    in the C800-CBFF space. Unfortunately, it's not...

    -uso.
    --- Synchronet 3.20a-Linux NewsLink 1.114