new GFX card

페이지 20/20
13 | 14 | 15 | 16 | 17 | 18 | 19 |

By MagicBox

Master (198)

MagicBox의 아바타

01-10-2008, 19:18

Hah! The lasers in nemesis 1 could just be built using sprites instead of using characters! There would obviously not be a one-on-one conversion.

Another option would be to use one layer for each laser (there are 3 at most anyways) and resisze / reposition the layer to make the laser move. It's probably the easiest option. Because layers will have viewports you can implement a smooth stretch of the layer to simulate the laser 'growing' from the ship, and then just scroll the layer when the laser/layer reached its maximum length, the length you'd define for the laser.

Ofcourse using like 16 sprites in a row you can create a screen-length of a laser. Many ways to implement this. Imagine the new possibilities you'll have to create games in the vein of all those golden titles, but this time with smoothscrolling everywhere and added effects like parallax scrolling...

By PingPong

Prophet (3666)

PingPong의 아바타

01-10-2008, 19:25

@MagicBox: about the blitter.
When you start design it, please take into consideration some little aspect that can make the difference. I give you an example:
Feeding the old vdp require 15 bytes for each command. Assume you are drawing a page of charaters from left to right, top to bottom. the first command is
copy (srcX_forcharater,srcY_forcharater)-step(8,8) to (currentCol, currentRow)
the second, 1 char left is
copy (srcX_forcharater,srcY_forcharater)-step(8,8) to (currentCol + 8, currentRow)

you notice that a lot of parameters does not change. with the old VDP i'm forced to write all values, because the register values are changed after command execution and, for example i cannot rely about the fact currentRow is unchanged when executing the second command. On the old vdp currentRow is increased by 8 and i'm forced to rewrite the value.

the vdp registers are SX, SY, DX, DY, NX, NY, if i remember correctly. For some commands, if they were disposed in a more smart way the programmer could avoid to set the reg. ptr to non contiguos area of registers. I think a good ordering can avoid to write randomly the registers and allow to write them in a block.

I'm not sure to have been clear. Ask me if needed.

By PingPong

Prophet (3666)

PingPong의 아바타

01-10-2008, 19:27

....everywhere and added effects like parallax scrolling...
My dream: trashing to the bin (definitely) the sprite mux routine.

By PingPong

Prophet (3666)

PingPong의 아바타

01-10-2008, 19:38

I am sure, that the Z80 or the R800 can handle the calculation of a lot of 3d coordinates. There have been many demos and games in the past on different Z80 systems. The graphic output is one of the most time consuming thing here.
So, Prodatron, do you think it's possible to have a msx2 3d demo on v9938 by taking the maximum advantage of parallel execution? ( i mean: while z80 do calculations, VDP do drawings), will be nice.
Umh however the z80 on msx is not fast as on CPC, because of less clock and M1 wait state.

By MagicBox

Master (198)

MagicBox의 아바타

01-10-2008, 22:48

Just an update, I simlated and tested the 64-bit attribute entry. No performance penalty at all. In fact, unused bits are eliminated from the design without molesting the logical layout.

By MagicBox

Master (198)

MagicBox의 아바타

02-10-2008, 09:04

I can't edit the previous post, but as far as the blitter goes, we can start an in-depth discussion when I actually get to the point of designing the blitter Wink

I'm now doing the final iteration of the sprite engine and as you could have seen by the SAT layout, community feedback is being implemented. (Flip bits, bigger pattern selection and collision categories). Once this iteration is done, I have to revise the VRAM arbiter and then I will make a start with the MLT engine (map layer table aka nametable)

By MicroTech

Champion (385)

MicroTech의 아바타

02-10-2008, 09:40

Dunno if this is the best place for this post but MagicBox seems the first who (finally) tries to (intensively) use FPGA to design NEW hw for MSX.

I'm not a VHDL expert but looking at ESE3 sources I found a SelfMode signal which seems to permit to configure the machine as a slave device.
I get the impression this permits to an external master to access ESE3 peripherals as Z80 would do in normal (master) mode of operation.
IMHO this "master" could be any machine with a standard (or probably slightly modified) MSX slot expander connector... maybe just another MSX... (why not PC with a gamereader?).
Isn't this some way familiar with the (little) info I could read here (on MRC) about ESE4 Question

2nd: is it possible to reconfigure ESE3 to "appear" as a slave device implementing only 1 custom peripheral, as VDPX could be, permitting developer to have a whole FPGA to design complex hardware (which could also take full, and exclusive, advantage of his own 32M ram) Question

@ MagicBox: VDPX sounds really cool Cool

By MagicBox

Master (198)

MagicBox의 아바타

02-10-2008, 19:25

I have absolutely no clue what ESEx is or how it would relate to VDPX Wink

By PingPong

Prophet (3666)

PingPong의 아바타

02-10-2008, 19:48

@MagicBox: time ago you said about the possibility to inject the old msx signal into VDPX card, then by selecting the output enabling the old or the new videosystem.

About VDPX card, do you plan to drive a VGA monitor? what kind of output signal will be in output from VDPX card?
thx

By MagicBox

Master (198)

MagicBox의 아바타

02-10-2008, 20:30

No VGA monitor yet, but it is possible. Anyways, I have now created a dedicated thread for VDPX in the hardware forum. Please continue any VDPX related discussion in the new thread, thanks Smile

페이지 20/20
13 | 14 | 15 | 16 | 17 | 18 | 19 |