Video: Lesson P5 - Bitmap graphics on the TI-83 and MSX

MSX & MSX2 including the V9990 GPU (V9K)
John
Posts: 32
Joined: Tue Mar 24, 2020 1:18 am

Re: Video: Lesson P5 - Bitmap graphics on the TI-83 and MSX

Post by John » Sat Jan 16, 2021 5:46 am

I had a read of some of documentation screen 3.

The screen three mode (as it is known in MSX BASIC) can have 16 colours on screen and each pixel in the the 68 by 48 screen can be set to any of the 16 colour without any restrictions.

The common definition of bitmap means there is a one to one correspondence of how screen information in pixels is stored in memory in a computer and how it is visually displayed to the user.
Wikipedia defines a bitmap to mean "a bitmap is a mapping from some domain (for example, a range of integers) to bits."

So by those definitions screen 3 is a true bitmap screen.

Because as the documents describe, each pixel and colour of screen 3 have a 1-1 correspondence with how the screen is stored in VRAM, the way it is stored also allows for all 16 colours on screen, and each pixel in the the 68 by 48 screen can be set to any of the 16 colour without and restrictions.


I will write a program in ASM to show what I mean above and it is different from the way you programmed in your screen 3 asm demo above-when I have finished writing the program.


I am interested in screen 3 because I think it will give a fast way to use floating point arithmetic for computing real time 3d polygon graphics instead of using the, screen 2 mode and look up tables for the geometry calculations,
it is quite a lot more non-trivial to use screen 2 in this way, one of the bottlenecks in my 3d polygon code is the pixel plotting function in screen 2 -it needs too many pixel plots to draw each polygon face- this is essentially because the MSX uses a VDP to indirectly draw to the screen (it cannot write to the screen like directly like it does to RAM). Maybe you pixel plotting function (used in your Photon) is faster than mine to do some sort of 3d graphics on the MSX1 which is something I will look into -but you pixel plotting routine seems not much different from mine -but the best bet, and maybe the only way, is using screen 3 I think for real time 3d.

So when I have done an example code for plotting screen 3 pixels I will give it here

User avatar
akuyou
Posts: 463
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: Video: Lesson P5 - Bitmap graphics on the TI-83 and MSX

Post by akuyou » Sun Jan 17, 2021 4:56 am

Yes, it shouldn't be too difficult to set up a tilemap with all the tiles showing different bytes of pattern ram.

You'll just then need to calculate the correct byte for the pair of pixels you need to change, and read in the current value, putting the new pixel color in it's place, before writing back.

Kind of similar to the Photon MSX1 example I did, though all the screen co-ordinate formulas will need to be different to cope with the alternate tile/pattern layout.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

Post Reply

Return to “MSX & MSX2 Assembly Programming”