Bender MX (no@morespam.com) wrote: : "Bill Garber" wrote in message : 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 Dave Althoff Jr (dalloff@gcfn.org) wrote: : 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 : 320: 90 EC BCC $030E : : 60 RTS Update: I have now tried it and it doesn't work. Silly me, I BCC'ed when I should have BCSed...it only moves the first 256 bytes. Fix it by changing: 320:B0 EC BCS $030E I've fixed the part below. I also tested it...it works. : 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 B0 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$ Once I changed the comparison at 320, it worked. --Dave Althoff, ][. -- /*\ _ _ _ *** Merry Christmas!!! *** /###\ /X\ /X\_ _ /X\__ _ _ _____ /#####\ /XXX\ _/XXXX\_ /X\ /XXXXX\ /X\ /X\ /XXXXX _/XXX#XXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX Dave Althoff Jr wrote: >Dave Althoff Jr (dalloff@gcfn.org) wrote: > >: 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 >: 320: 90 EC BCC $030E >: : 60 RTS >Update: >I have now tried it and it doesn't work. Silly me, I BCC'ed when I should >have BCSed...it only moves the first 256 bytes. Fix it by changing: > >320:B0 EC BCS $030E > >I've fixed the part below. I also tested it...it works. > >: 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 B0 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$ > >Once I changed the comparison at 320, it worked. And it still clobbers the screen holes. If clobbering the holes is acceptable (!), then bracketing the BLOAD with a couple of POKEs to the ProDOS memory map will do it. (Or just one POKE if you don't mind leaving low memory unprotected.) -michael Check out amazing quality sound for 8-bit Apples on my Home page: http://members.aol.com/MJMahon/