Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2 > #26039

Re: Hires screen clear

Newsgroups comp.sys.apple2
Date 2015-10-21 22:59 -0700
References <3bcddc0a-ae8d-43d9-a8cd-9bcbe52e64ce@googlegroups.com> <mmphosis-1445486222@macgui.com>
Message-ID <df26eee6-b720-436b-b44f-d62a30f74e30@googlegroups.com> (permalink)
Subject Re: Hires screen clear
From John Brooks <jbrooks@blueshiftinc.com>

Show all headers | View raw


On Wednesday, October 21, 2015 at 8:57:07 PM UTC-7, mmphosis wrote:
> I'll wade in.  This is from an old posting:
> 
> http://macgui.com/usenet/?group=2&id=22543#msg
> 
> NEW
> 
> 0 HIMEM: 5608
> 
> 1DATA5532563300922139021390213932135045238263536503037252627503845615305817312092293902932835845478875645836575037148845550351083966132653706165276445377489621322135821322334213502130051520282036
> 
> 2DATAQLNZQLNZQAQQDSAQRDSAQQDSAQVDSAQXCKDNAPFXANAQXXANANXNXNXQXNXCQXKXNZQXKXNZQCQODMAQODMAUUYQXCKATAUVQXCKMNXQXKANXUAUTCQXKENXUMUSQJHSAHFQZTXRDFQZTAOCQZTAOBQHDSAPDSAQADSANZNZKDSAQZDSAXZQZOZXZUAXZJ
> 
> 3 READ L$: READ H$
> 
> 4 FOR I = 1 TO  LEN (L$)
> 
> 5POKE767+I,10*(ASC(MID$(H$,I,1))-65)+VAL(MID$(L$,I,1))
> 
> 6 NEXT
> 
> RUN
> 
> HGR : CALL 768: CALL 5608

Awesome hires clear, though it is not exactly small (or practical). But it's wicked fast once it gets going.

To summarize the awesomeness:

1) 564 byte text file initiates the screen clear via DOS exec (or I guess you could type it in)

2) Exec file creates a basic program which then uses a neat 2-chars-per-byte encoding scheme to poke 190 bytes of machine code into $300-$3BD

3) The code at $300 then generates this:

15e8: ldx #$AA
15ea: ldy #$D5
15ec: stx $2000
15ef: sty $2001
...
1ffa: stx $3512
1ffd: jmp $4000

4000: sty $3513
...
8fe9: stx $3ff6
8fec: sty $3ff7
8fef: rts

A 23k function to clear the 7.5k hires screen!

The screen clear function at $15e8 times out at almost exactly 4 cycles per byte.

Large and in charge!

Nice job mmphosis!

-JB

Back to comp.sys.apple2 | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Hires screen clear John Brooks <jbrooks@blueshiftinc.com> - 2015-10-20 22:53 -0700
  Re: Hires screen clear mwillegal <mike@willegal.net> - 2015-10-21 08:59 -0700
  Re: Hires screen clear fadden <thefadden@gmail.com> - 2015-10-21 09:45 -0700
    Re: Hires screen clear qkumba <peter.ferrie@gmail.com> - 2015-10-21 11:11 -0700
      Re: Hires screen clear qkumba <peter.ferrie@gmail.com> - 2015-10-21 11:29 -0700
        Re: Hires screen clear qkumba <peter.ferrie@gmail.com> - 2015-10-21 11:54 -0700
          Re: Hires screen clear qkumba <peter.ferrie@gmail.com> - 2015-10-21 15:32 -0700
          Re: Hires screen clear qkumba <peter.ferrie@gmail.com> - 2015-10-21 17:53 -0700
    Re: Hires screen clear John Brooks <jbrooks@blueshiftinc.com> - 2015-10-21 21:46 -0700
      Re: Hires screen clear fadden <thefadden@gmail.com> - 2015-10-21 22:11 -0700
        Re: Hires screen clear John Brooks <jbrooks@blueshiftinc.com> - 2015-10-21 23:29 -0700
      Re: Hires screen clear qkumba <peter.ferrie@gmail.com> - 2015-10-21 22:17 -0700
  Re: Hires screen clear Antoine Vignau <antoine.vignau@laposte.net> - 2015-10-21 18:06 -0700
  Re: Hires screen clear mmphosis <mmphosis@macgui.com> - 2015-10-22 03:54 +0000
    Re: Hires screen clear John Brooks <jbrooks@blueshiftinc.com> - 2015-10-21 22:59 -0700
      Re: Hires screen clear mmphosis <mmphosis@macgui.com> - 2015-10-22 06:29 +0000
  Re: Hires screen clear John Brooks <jbrooks@blueshiftinc.com> - 2015-10-23 18:26 -0700

csiph-web