[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 80 Columns under cc65?
John B. Matthews <nospam@nospam.com> wrote:
: In article
: <b10f1b65-7cdb-4864-9ed9-a46cd2c1898a@s21g2000prm.googlegroups.com>,
: David Wilson <mcs6502@gmail.com> wrote:
:
: > On Jul 4, 4:02 am, "John B. Matthews" <nos...@nospam.com> wrote:
: > > > > > Oliver: the code above was from a ProDOS system program. A
: > > > > > non-system cc65 program launched from the Basic prompt under
: > > > > > ProDOS is running alongside BASIC.SYSTEM. It might be
: > > > > > necessary to update the BASIC Global Page Default I/O vectors
: > > > > > after initializing the card:
: >
: > If the cc65 program is running with BASIC.SYSTEM, wouldn't it just
: > need to do the equivalent to PRINT CHR$(4);"PR#3"?
: >
: > i.e.
: >
: > puts("\004PR#3");
: >
: > That way BASIC.SYSTEM will take care of the I/O vectors for you.
:
: Not with conio. Looking at libsrc/apple2/cputc.s, putchar stores
: characters in video memory, bypassing the I/O hooks.
:
: I'd have thought sdtio might work, as you suggest. It uses _write, which
: calls COUT, which in turn vectors through zero page CSWL/H, owned and
: operated by ProDOS. I don't know why it's not working.
Oh. Now I see the problem.
If I remember correctly, BASIC.SYSTEM parses lines that are printed from
running BASIC programs, but NOT characters that are passed through COUT.
Sending the DOS command via COUT worked beautifully in DOS 3.3, but in
ProDOS you have to send the command to ProDOS directly. The problem
with THAT is that there is no equivalent for PR# in the ProDOS MLI. It
looks like there is a method where you can put the command string into
the input buffer:
$200:D0 D2 A3 B3 8D
...then JSR to DOSCMD at $BE03. The reference I am looking at, though,
cautions that this only works in deferred mode...that is, while a BASIC
program is running. I wonder how you can simulate that...Wasn't this
covered in one of the last issues of Softalk....?
--Dave Althoff, Jr.
/X\ _ *** Respect rides. They do not respect you. ***
/XXX\ /X\ /X\_ _ /X\__ _ _ _____
/XXXXX\ /XXX\ /XXXX\_ /X\ /XXXXX\ /X\ /X\ /XXXXX
_/XXXXXXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX
NEW! When emailing this account, include the 'canonical magic word' in
the body of your message for a quicker response.