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


Groups > comp.sys.apple2.programmer > #328

Re: Bill Budge Preshift-table graphics

From twalkowski <twalkowski32@att.net>
Newsgroups comp.sys.apple2.programmer
Subject Re: Bill Budge Preshift-table graphics
Date 2012-07-15 19:46 -0700
Organization http://groups.google.com
Message-ID <95a61a12-efbd-4fb3-b055-9abf5db31160@googlegroups.com> (permalink)
References <f096e2ae-eccf-47a2-b996-82ba7b4db5a1@googlegroups.com> <55775495-7641-400d-9a51-e7b2ac304716@googlegroups.com>

Show all headers | View raw


On Sunday, July 15, 2012 1:19:04 PM UTC-5, (unknown) wrote:
> On Sunday, July 15, 2012 8:15:46 AM UTC-7, (unknown) wrote:
> &gt; http://rich12345.tripod.com/preshift/index.html
> &gt; 
> &gt; 
> &gt; I finally got it to display garbage on HGR screen.
> &gt; 
> &gt; Check out the disk image if you have time, maybe
> &gt; proofread it?  I have tried over and over to get
> &gt; it to work.
> 
> 
> Listing6 follows this post...
> 
> It is a demo that loads everything and should allow you to move the arrow around the screen using the joystick.
> 
> It looks like BYTE, or the authors did not properly proof-read their article, because:
> 
> 3060 PRINT D$;&quot;BLOAD QD.DEMO.0&quot;
> 3070 PRINT D$;&quot;BLOAD TABLPAK,A$4000&quot;
> 3080 PRINT D$;&quot;BLOAD IMAGE,A&quot;;IMAGTBL
> 
> tablpak is the only file mentioned elsewhere in the article.
> 
> qd.demo.o is NOT MENTIONED
> IMAGE is NOT MENTIONED
> 
> Reading the article, it becomes apparent that qd.demo.o is the 6502 program generated by assembling listing 3.
> 
> The IMAGE file would be the arrow shape to animate, although it mentions in the article that this is POKED into RAM from listing5, and then BSAVED into TABLPAK.  This is derived from:
> 
> listing6:
> 3000 IMAGTBL = 20864  ($5180 in hex)
> 
> listing5:
> 550 QQ$ = &quot;5180:0D 0D 02 00 00 00 00 7C OF 7C 07 7C 03 7C 01 7C 03 7C 07 5C 0F 0C 1F 04 0E 00 04 00 00 00 00&quot;
> 
> 
> So it looks like tablpak was set up to contain Hires lookup table, preshift table, and divide by 7 table, ALSO the image to be shifted.
> 
> But then the demo, listing6, is trying to BLOAD IMAGE, and nowhere else in the article does it mention IMAGE file, 
> 
> Rich
> 
> 
> Listing6
> 
> 220 gosub 3000
> 
> 260 GOSUB 2000
> 
> 530 REM IF PEEK(-16287)&gt;127 THEN 820
> 570 XVLUE= PDL(0)
> 580 YVLUE = PDL(1)
> 620 XINCR = -1*DOTSMOVE*(XVLUE&lt;C1THRLO)+DOTSMOVE*(XVLUE&gt;C2THRHI)
> 630 YINCR = -1*DOTSMOVE*(YVLUE&lt;C1THRLO)+DOTSMOVE+(YVLUE&gt;C2THRHI)
> 670 IF (XPSN+XINCR)&gt;=C3XMIN AND (XPSN+XINCR)&lt;=C4XMAX THEN XPSN = XPSN+XINCR
> 680 IF (YPSN+YINCR)&gt;=C5YMIN AND (YPSN + YINCR)&lt;=C6YMAX THEN YPSN = YPSN + YINCR
> 706 POKE X1,XPSN
> 708 POKE Y1,YPSN
> 720 CALL CODEADDR
> 760 GOTO 530
> 810 END
> 
> 
> 
> 
> 
> 2000 DOTSMOVE = 2
> 2040 XPSN =  100:YPSN = 100
> 2070 C1THRLO = 100:C2THRHI = 150
> 2080 REM --THRESHOLD VALUES
> 2090 REM --FOR JOYSTICK INPUT
> 2100 REM
> 2110 C3XMIN = 5:C4XMAX = 235
> 2120 C5YMIN=5:C6YMAX=175
> 2130 REM --BOUNDARIES OF IMAGE
> 2140 REM --MOVEMENT ON SCREEN
> 2150 REM
> 2160 CODEADDR = 21008
> 2170 REM --ADDRESS OF MACHINE
> 2180 REM --LANGUAGE SUBROUTINE
> 2190 REM
> 2200 IROWS = 20992
> 2210 IDOTS = IROWS+1
> 2220 IWIDTH = IROWS + 2
> 2230 IBITS = IROWS+3
> 2240 X1=IROWS+5
> 2250 Y1 = IROWS + 6
> 2260 REM --ADDRESSES OF DATA
> 2270 REM --NEEDED BY ASSY
> 2280 REM --LANGUAGE ROUTINE
> 2290 REM
> 2420 POKE IROWS, PEEK(IMAGTBL)
> 2430 POKE IDOTS, PEEK(IMAGTBL+1)
> 2440 POKE IWIDTH,PEEK(IMAGTBL+2)
> 2450 IP = IMAGTBL+3
> 2460 C8IPLO = INT(IP/256)
> 2470 C7IPHI = IP-256*C8IPLO
> 2480 POKE IBITS, C7IPLO
> 2490 POKE IBITS+1,C8IPHI
> 2540 HGR:POKE -16302,0
> 2550 REM --SWITCH TO HIRES PG1
> 2560 REM
> 2570 RETURN
> 2940 REM
> 2950 REM LOAD FILES
> 2960 REM SUBROUTINE
> 2970 REM
> 3000 IMAGTBL = 20864
> 3010 REM --ADDRESS OF TABLE
> 3020 REM --CONTAINING IMAGE
> 3030 REM --TO BE MOVED
> 3040 REM
> 3050 D$=CHR$(4)
> 3060 PRINT D$;&quot;BLOAD QD.DEMO.0&quot;
> 3070 PRINT D$;&quot;BLOAD TABLPAK,A$4000&quot;
> 3080 PRINT D$;&quot;BLOAD IMAGE,A&quot;;IMAGTBL
> 3110 REM 
> 3120 RETURN

I managed to get it working with the ORCA assembler -- the big gotcha for me was the assembler symbol for taking the high byte was opposite the symbol used in ORCA ">" vs "<" -- drove me batty until I spotted the problem!  That was in addition to the BASIC program changes listed above.

Tim 

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


Thread

Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-15 08:15 -0700
  Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-15 11:12 -0700
  Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-15 11:19 -0700
    Re: Bill Budge Preshift-table graphics twalkowski <twalkowski32@att.net> - 2012-07-15 19:46 -0700
      Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-16 08:02 -0700
        Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-16 11:28 -0700
        Re: Bill Budge Preshift-table graphics twalkowski <twalkowski32@att.net> - 2012-07-16 11:23 -0700
          Re: Bill Budge Preshift-table graphics Michael J. Mahon <mjmahon@aol.com> - 2012-07-19 02:00 -0500
            Re: Bill Budge Preshift-table graphics twalkowski <twalkowski32@att.net> - 2012-07-19 07:34 -0700
            Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-19 08:06 -0700
  Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-16 08:04 -0700
  Re: Bill Budge Preshift-table graphics aiiadict@gmail.com - 2012-07-17 19:41 -0700

csiph-web