6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Jul 07, 2024 9:47 am

All times are UTC




Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: Sat Jul 07, 2007 4:42 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
My Kestrel emulator defines a graphics architecture which is capable of displaying bitmaps only -- no text mode at all. Therefore, my character set uses a font which is row-major, not column-major, already.

You can fetch a copy of this character set here if you want:

http://www.falvotech.com/content/kestre ... o/font.bin


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jul 09, 2007 3:59 pm 
Offline

Joined: Thu Jul 05, 2007 4:11 pm
Posts: 33
Hi again,

I'm getting an error when trying to execute

lda(pointerlo),y

it tells me that "Indirect postindexed addressing mode requires byte operand"

Maybe Garth was right afterall....???


Code:
loop
 lda (pointerlo),y    ;  here's your indirect indexed adressing
 sta lcd
 iny

 cpy #$08             ; the last byte of character data is the 7th,
 bne loop             ; did we just pass it? if not go back and
                      ; get another byte of character data


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jul 09, 2007 4:16 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
Indirect addresses with indexing must appear in direct page (aka zero page for 6502 systems).


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jul 09, 2007 4:28 pm 
Offline

Joined: Thu Jul 05, 2007 4:11 pm
Posts: 33
I'm using byte FE and FF of ZP for the pointers... ??


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jul 09, 2007 5:17 pm 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
How is pointerlo defined?

In some assemblers, if you use this:

Code:
pointerlo = $00FE


it will still attempt to treat any use of it as a 16-bit absolute address. If this is the case, try changing it to just:

Code:
pointerlo = $FE


Such assemblers should then recognize it as a simple byte-sized operand.

I don't know why or how this convention started (it dates back at least to the late 70s, since Commodore PET assemblers tended to behave this way too). It is very annoying.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jul 09, 2007 5:35 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8464
Location: Southern California
What's in the assembled code? The line should say
B1 FE
(I double checked this time with WDC's programming manual instead of the book I knew had an error and used anyway before :oops: ) It's strange that you would say, "I'm getting an error when trying to execute". Is this with a simulator? Or do you mean "when trying to assemble"?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Jul 09, 2007 6:11 pm 
Offline

Joined: Thu Jul 05, 2007 4:11 pm
Posts: 33
Yes, I meant assemble... sorry.... using terms from the old BASIC days....

My problem was a stupid one... I was specifiying the value in decimal instead of hex.... duh....

$254 instead of $FE

Sorry....


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Jul 10, 2007 3:33 pm 
Offline

Joined: Thu Jul 05, 2007 4:11 pm
Posts: 33
Just thought I would let everyone know that "bogax" code worked great, and I find it simple, and straight forward.

Thanks a bunch.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: