This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's z80 & ez80 Assembly subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Z80 & 68k Assembly => z80 & ez80 Assembly
Author Message
Job the GameQuitter


Member


Joined: 04 Jun 2003
Posts: 102

Posted: 04 Feb 2004 11:41:13 am    Post subject:

You'd need to know about the LCD before I can fully explain. In short, to output the gbuf you need to copy every byte in it to the screen. However, between copying you need to wait a little bit more than 60 cycles (or 100 if you have a SE running in fast mode). Now, some of those clocks are used because you need retrieve a new byte and all, but most are wasted. But with some intelligent programming you could use those wasted clocks for scrolling.

But this is all relatively advanced, I don't recommend trying to use it unless you fully grasp both tilemapping and the way the LCD driver works.
Back to top
omni


Member


Joined: 14 Jun 2003
Posts: 115

Posted: 04 Feb 2004 03:44:48 pm    Post subject:

So that means every time you write a byte to screen, you need a delay before you can write again?

Does anyone have any tutorials on direct LCD communication? I already have
ASM in 28 days and I am reading it ,as well as the manual or something similar to it for the Toshiba T6A04A. Anything helpful in the manual?

Ps whats a dummy read?


Last edited by Guest on 04 Feb 2004 07:23:39 pm; edited 1 time in total
Back to top
Job the GameQuitter


Member


Joined: 04 Jun 2003
Posts: 102

Posted: 05 Feb 2004 11:24:19 am    Post subject:

It means that the first time you IN A,($11) you get a garbage byte instead of the byte you want. So that's called the dummy read.
Back to top
omni


Member


Joined: 14 Jun 2003
Posts: 115

Posted: 08 Feb 2004 07:24:30 pm    Post subject:

So would direct LCD communication be more effective than copying to buffer and bcall(_grbufcpy)? Seems to me that it isn't since you have to wait 60 cycles between writing.
Back to top
Job the GameQuitter


Member


Joined: 04 Jun 2003
Posts: 102

Posted: 08 Feb 2004 10:36:38 pm    Post subject:

Actually, bcall(_grbufcpy) ALSO waits 60 cycles between writing. And yeah, it would be faster, but you would see the screen build up as you output one sprite after another, which is ugly to look at. But if you only need to update one byte at a time anyway it would be sickeningly faster. For example, try my Langton's Ant program. The first only modifies one byte at a time on the LCD, so it's speed will knock your socks of.

Anyway, back on topic, did you find out what you needed to know about smoothscrolling?
Back to top
DigiTan
Unregistered HyperCam 2


Super Elite (Last Title)


Joined: 10 Nov 2003
Posts: 4468

Posted: 09 Feb 2004 12:35:33 am    Post subject:

You seem to have this display controller stuff well-researched, Job! Cool I was wondering: are there any in-depth LCD drawing articles out there? And what do you make of the Blue! programs released a while back?
Back to top
Job the GameQuitter


Member


Joined: 04 Jun 2003
Posts: 102

Posted: 09 Feb 2004 09:15:05 am    Post subject:

All my knowledge of the LCD display comes from the 28 days tutorial Laughing. So you can check it out yourself quite easily. And those blue programs can damage your LCD screen, so don't use them.
Back to top
Dwedit


Member


Joined: 04 Jan 2004
Posts: 138

Posted: 09 Feb 2004 09:21:39 am    Post subject:

_grbufcpy sets the display mode to horizontal, rather than vertical, so there is more lag as it draws the screen row by row. Compared to say...ionfastcopy, which draws the screen column by column.

Column by column is faster, because there are less times to change the column than times to change the row when doing it row by row.
Back to top
b__


Member


Joined: 16 Jun 2003
Posts: 173

Posted: 09 Feb 2004 11:24:28 pm    Post subject:

Aren't there more columns than rows?
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 10 Feb 2004 12:02:13 am    Post subject:

yes,96 colums, 64 rows
Back to top
Dwedit


Member


Joined: 04 Jan 2004
Posts: 138

Posted: 10 Feb 2004 12:03:27 am    Post subject:

12 columns, 64 rows...

not 96 columns. (column = byte wide)
Back to top
Darth Android
DragonOS Dev Team


Bandwidth Hog


Joined: 31 May 2003
Posts: 2104

Posted: 10 Feb 2004 12:20:52 am    Post subject:

ah, columns of bytes, not pixels.
then no, there are more rows
Back to top
Job the GameQuitter


Member


Joined: 04 Jun 2003
Posts: 102

Posted: 10 Feb 2004 04:19:03 am    Post subject:

And on top of that, _grbufcopy uses a delay that's bigger than fastcopy.
Back to top
omni


Member


Joined: 14 Jun 2003
Posts: 115

Posted: 10 Feb 2004 07:50:56 pm    Post subject:

Job:
Alright I'm pretty sure I got the help I needed. I just need to experiment and read up on LCD communication. Hopefully I will make a smmmmooooth scrolling routine.
Back to top
b__


Member


Joined: 16 Jun 2003
Posts: 173

Posted: 10 Feb 2004 08:05:57 pm    Post subject:

Quote:
12 columns, 64 rows...

not 96 columns. (column = byte wide)


Ah, i see.
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    » Goto page Previous  1, 2
» View previous topic :: View next topic  
Page 2 of 2 » All times are UTC - 5 Hours

 

Advertisement