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

Re: Prodos Woes



Bender MX (no@morespam.com) wrote:
: "Bill Garber" <willy46pa@comcast.net> wrote in message
: p46dne9g-8C0vUGiRVn-iw@comcast.com">news:p46dne9g-8C0vUGiRVn-iw@comcast.com...
: >
: > I always define the entire information
: > for a BSAVE as in:
: >
: > BSAVE filename.xxx,Sn,Dn,A$xxxx,L$xxxx
: >
: > Then for BLOAD you only should need:
: >
: > BLOAD filename.xxxx
: >

: Hi Bill,

:   Thanks for the reply! ... But I run into "No Buffers Avail"
: when I try to reload the picture with a "BLOAD PIC,A1024"
: Even with a reset of MAXFILES=3 It happens?!

: I wonder if it's emulator specific, and I ought to get a set of
: ProDOS masters for my actual IIe and try it out.

MAXFILES doesn't do anything in ProDOS; the command exists, but only for
compatability with DOS 3.3...ProDOS allocates file buffers dynamically.

As someone else suggested, you're bumping into the ProDOS version of
"protected memory."  ProDOS won't allow you to do certain things that it
believes to be stupid, like BLOADing images into the screen holes.

If you're going to do this trick in ProDOS, what you need to do is load
the image into a safe place, then copy it to the text screen.  I haven't
tried this, but it should work:

300: A9 00      LDA #$00
   : 85 06      STA $06
   : 85 08      STA $08
   : A9 04      LDA #$04
   : 85 09      STA $09
   : A9 60      LDA #$60
   : 85 07      STA $07
30E: A0 00      LDY #$00
310: B1 06      LDA ($06),Y
   : 91 08      STA ($08),Y
   : C8         INY
   : D0 F9      BNE $0310
   : E6 07      INC $07
   : E6 09      INC $09
   : A9 08      LDA #$08
   : 18         CLC
   : C5 09      CMP #$09
   : 90 EC      BCC $030E
   : 60         RTS

You can punch in and save as follows:

]CALL -151
*300:A9 00 85 06 85 08 A9 04 85 09 A9 60 85 07 A0 00 B1 06 91 08 C8 D0 F9
*:E6 07 E6 09 A9 08 18 C5 09 90 EC 60
*3D0G
]BSAVE MOVER,A$300,L$24

...then in the BASIC...
nnnnn PRINT CHR$(4);"BLOAD MOVER"
nnnno PRINT CHR$(4);"BLOAD TEXTSCREEN,A$6000":CALL 768
nnnnp WAIT 49152,128:GET K$

Again, I didn't try it.  But it should work.  8-)

--Dave Althoff, ][.

-- 
    /*\        _       _               _   *** Merry Christmas!!! ***
   /###\      /X\     /X\_      _     /X\__      _     _        _____
  /#####\    /XXX\  _/XXXX\_   /X\   /XXXXX\    /X\   /X\      /XXXXX
_/XXX#XXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX