IO, a new MSX1 demo by Logon System

Page 6/17
1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9 | 10 | 11

By Overflow

Resident (57)

Overflow's picture

17-03-2015, 20:26

RetroTechie wrote:

A scanline will only take a fixed # of CPU cycles on machines where CPU clock derives from the VDP clock. Cool And since VDP clock is 6x the MSX-standard 3.58 MHz, that might be X+1/6th, X+2/6th, X+3/6th etc CPU cycles (Read: an integer # of VDP clock cycles, not necessarily an integer number of CPU cycles).

On the NMS8280, VDP clock can vary freely within a small range (+/- a few % or so), to allow it to 'catch up' with an external video signal, until VDP runs synchronized with external video. IIRC, the Z80 doesn't follow this varying VDP clock, so its clock is generated separately.

Same goes for 7 MHz. (or Super Turbo Wink ) upgraded machines. And even with a stable CPU clock available from VDP, some MSX machines generate the Z80 clock separately anyway. In all these cases Z80 clock is "free running" w/ respect to VDP clock, and scanlines can take a non-integer, non-constant # of CPU cycles.

If you have a schematic for a particular machine, it's easy to see where the Z80 clock comes from.

Summarized: a constant CPU clock can NOT be relied upon (as has been true so often, for ages).

Very interesting. You also explained it clearly. Thanks.

---

My own conclusion.

I should change the prerequisites for "IO" to MSX1/2/2+/tR machines which can get 313 scanlines @50Hz and almost 228 cpu-cycles on each scanline. This gives quite a few MSX machines so far. Smile

I know and understand that compatibility is part of History for MSX Scene. Guys, feel free to judge "IO" as non-acceptable MSX release since it is not compatible on all your machines, but also: that's ok if you shout at me about this.

I did not and do not intend to follow rules when coding demo-fx. My aim was and still is: having fun when retro-coding, trying to use hardware in a non-standard way to display impossible fx at screen. Doing this as a hobby and a personal challenge first. Then: sure! I share.

Let's say I have a hobby: painting. I like to paint. I do not paint to have my friends or family telling I've got talent or that painting is soooo nice. I paint for my pleasure. Then? sure! I show my painting to relatives. Some of them will like, some others will tell I should not use paper but canvas, a few will just ignore my work, and one may shout at me cos' I should not use felt-pen but stencil only. ||| Replace "to paint" by "to code demo-fx". Now you will undertand me. Smile

By PingPong

Prophet (3281)

PingPong's picture

17-03-2015, 20:49

Overflow wrote:

Let's say I have a hobby: painting. I like to paint. I do not paint to have my friends or family telling I've got talent or that painting is soooo nice. I paint for my pleasure. Then? sure! I show my painting to relatives. Some of them will like, some others will tell I should not use paper but canvas, a few will just ignore my work, and one may shout at me cos' I should not use felt-pen but stencil only. ||| Replace "to paint" by "to code demo-fx". Now you will undertand me. Smile

Let's say that you are a very good painter (replace with coder)
And to be honest try to find something like "poke -1,170" with google. you will know that most commercial sw of '80 are more incompatible than your demo.

By hit9918

Prophet (2853)

hit9918's picture

17-03-2015, 20:54

@overflow,
why not just sync? I guess the reason is it takes too much cpu time to sync.
How does the demo get vertical and horizontal sync? I thought sprites flags were used to sync on the first display line?
But now I am puzzeled. When even the player is cycle counted, why not just sync on vblank. That goes horizontal cycle exact with z80 in halt, doesn't it.
But then in turn the machine doesnt need to have precise cycles per frame.

By ARTRAG

Enlighted (6174)

ARTRAG's picture

17-03-2015, 20:59

@Overflow
+1

Now I expect for someone claiming that only bios calls have to be used also in demos etc etc
oO

By flyguille

Prophet (3029)

flyguille's picture

17-03-2015, 21:09

ARTRAG wrote:

@Overflow
+1

Now I expect for someone claiming that only bios calls have to be used also in demos etc etc
oO

technically if you want to be 100% msx1 standard, it can't have hardcoded the I/O ports $98 $99, it must read the ports numbers from bios rom, and setup the software to use the readed values... but that sucks, throw it to the hell!.

By yzi

Champion (441)

yzi's picture

17-03-2015, 21:34

Remember the Brazilian guy who was said to have had a V9938 expansion cartridge! At least one such machine has perhaps existed, so you can't hard code VDP ports!!! Konami was able to do it! Wink

I'm all for the technical achievement. It wasn't supposed to be feasible to do effects like that, too much work and too many different machines. But... it's almost there already.

What do I need to do to find out the cycle compensation values for the V-20 and HX-10?

By Manuel

Ascended (15369)

Manuel's picture

17-03-2015, 21:44

Overflow - indeed, just make sure you have fun! You should try MSX2 some time... has line interrupts, which would make your life a bit easier Tongue

By flyguille

Prophet (3029)

flyguille's picture

17-03-2015, 21:57

yzi wrote:

Remember the Brazilian guy who was said to have had a V9938 expansion cartridge! At least one such machine has perhaps existed, so you can't hard code VDP ports!!! Konami was able to do it! Wink

I'm all for the technical achievement. It wasn't supposed to be feasible to do effects like that, too much work and too many different machines. But... it's almost there already.

What do I need to do to find out the cycle compensation values for the V-20 and HX-10?

Even if it have a 9938 in a cartridge, that don't changes the bios, so reading the rom will reads the original ports, unless he also burn a new bios for it.

By yzi

Champion (441)

yzi's picture

17-03-2015, 22:09

I don't actually know the details, I've just heard a mythical 9938 expansion cartridge being used as an example of a reason why the VDP port shouldn't be hard coded. Wink The story has something to do with Brazil, if I recall correctly.

Anyway. I may have sounded negative, but I'd like to point out that the IO demo is absolutely amazing. I had already lost hope in getting fresh MSX demo makers on the scene. And then suddenly comes this incredible demo that takes a fresh view on the whole thing.

By the way, can you imagine what the results would be, if the same amount of dedication and pushing the envelope was given to, say... the R800 + v9990 + MoonSound/OPL4? Smile

By Manuel

Ascended (15369)

Manuel's picture

17-03-2015, 23:04

yzi - nothing mythical about it... You probably mean the Neos MA-20, which is emulated by openMSX... And Leonard Oliveira made a clone of it a while ago.

Page 6/17
1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9 | 10 | 11