| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Re: 80 Columns under cc65? |
In article ,
"Michael J. Mahon" wrote:
> John B. Matthews wrote:
> > In article , ol.sc{at}web.de (Oliver Schmidt)
> > wrote:
> >
> >
> >>>>How do I get an 80-column text mode on an Apple 2 under cc65?
> >>
> >>>It looks like the cc65 conio library goes to some lengths to avoid
> >>>changing whatever your program loader sets.
> >>
> >>That's very true. And in fact it goes beyond that: In contrast to at
> >>least some other cc65 targets the Apple2 conio implementation allows
> >>you to mix stdio and conio. Additionally you can use the well-known
> >>Apple2 zero-page variables to restrict the output to a certain window
> >>both for stdio and conio.
> >
> >
> > Oliver: thanks for expanding on this. I'm still new to cc65:-)
> >
> >
> >>> LDA MACHID
> >>> AND #2
> >>> BEQ NO80COL
> >>> JSR $C300
> >>
> >>I've tried recently to do that from within a cc65 program via inline
> >>assembler but that mixed up something with ProDOS so file I/O didn't
> >>work anymore. I'll have to investigate but my current work life
> >>situation doesn't allow for that. So the current workaround is to set
> >>80-column mode before starting the cc65 program.
> >
> >
> > 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:
> >
> > BE30: VECTOUT DW COUT1 ;Current character output routine
> > BE32: VECTIN DW CHIN1 ;Current character input routine
> >
> > I'll have to learn enough inline assembler to try it myself, but
> > experimenting from the Basic prompt seems to confirm this. I'm tempted
> > to just try printing control-DPR#3.
> >
> > Interestingly, not updating the vectors appears to turn on trace!
> >
> > ]mtr
> > *c300g
> > *^c
> > ]10 ?"Hello"
> > ]run
> > #10 Hello
> >
> > ProDOS is also disconnected, but call 976 ($3d0) restores normalcy.
>
> BASIC.SYSTEM runs with "real" trace turned on all the time--that's
> how it gets control for continuous garbage collection. So if you
> disconnect it without its cooperation, you'll see the trace output.
Michael: Thanks!
I'm thinking I can just jsr $c300 and copy the updated page zero vectors
(36.39) to the Basic system page (be30.be33). To exit, I issue a
control-U and restore the system page.
Alternatively, if the loader enables 80 columns, printing control-Q and
control-R switch to 40- and 80-columns, respectively.
Thoughts?
--
John B. Matthews
trashgod at gmail dot com
home dot woh dot rr dot com slash jbmatthews
--- SBBSecho 2.12-Win32
* Origin: Derby City BBS - Louisville, KY - derbycitybbs.com (1:2320/100)SEEN-BY: 10/1 3 34/999 106/1 120/228 123/500 140/1 222/2 226/0 236/150 249/303 SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119 SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700 SEEN-BY: 2320/100 105 200 2905/0 @PATH: 2320/100 261/38 633/260 267 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.