IO, a new MSX1 demo by Logon System

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

By flyguille

Prophet (3029)

flyguille's picture

15-03-2015, 23:03

Overflow wrote:
tonigalvez wrote:

(...)I think we have a lot of tile precalculation here.

Not my kind of coding. Wink
Let's have closer look at the 3D scene as an example.
Rough screen could be this one:

Each colum is/has a "color", as in "the 32 colors for 32*8 chars in screen mode 1".
Then, some precise timing on code changes VDP R#3 at given scanlines,
so that all colors are changed at once;
seen result is a textured applied on the 3d path.
Got it?

Those colours, don't looks like msx1 usual 16 color, are you using v9938+palettes?

By hit9918

Prophet (2853)

hit9918's picture

16-03-2015, 00:26

@flyguille,
maybe that was just a tech sketch to give the idea. The surprising thing is that it is screen 1 Big smile
with a rasterline synced thing, every line you can flip thru 8 charsets and loads colortables.
@overflow,
great MSX coding. The trailblazer makes game coding brainstorming run my head Smile
When one can acept the loss of cpu in display area, one could do all sorts of crazy things.
Get some new kind of screen 2 with roll 8 charsets. But sprite patterns get snipped by the 8th charset.
But one could have multiple pattern banks in different screen areas. Things ask lot game engine thinking.

By defdanny

Resident (58)

defdanny's picture

16-03-2015, 02:13

OH MY GOD - Never thought to see such things on an MSX! On an MSX1! I am totally stunned. Running Naked in a Field of Flowers

By dioniso

Champion (473)

dioniso's picture

16-03-2015, 07:00

Amazing, Overflow! Congratulations.

By PingPong

Prophet (3281)

PingPong's picture

16-03-2015, 09:53

@overflow: compared to cpc msx1 have a very different and more limited graphic system. i would know what is your impression of capabilities or limits on msx1 when dealing with demo making?

By Overflow

Resident (57)

Overflow's picture

16-03-2015, 10:29

Marq wrote:

Good stuff! Yet to see it on a real MSX1, as it doesn't want to work on a V-20 with MegaFlashROM SCC+ SD 512k (DOS2). Toshiba HX-10 and Nowind no luck either, according to Yzi.

On early December the demo was running great on openmsx. Then I had to take care of compatibilty. Some issues have been fixed (patches are automatically applied), some other issues are not. See also "nfo.txt" from zip file: many tests on differents machines, and likely an upcoming new build to fix what can ben fixed.

V-20 with MegaFlashROM SCC+ SD 512k (DOS2)
I believe that with your help guys we can get rid of this issue, about DOS2 or so.
Check http://www.msx.org/forum/msx-talk/openmsx/patching-io-demo for source of launcher.
My first guess. May this part of code be the issue?

		;http://www.msx.org/forum/development/msx-development/fd9f-i-dont-geddit
		;Stopping a disk drive could also be done by calling 0x401f (DSKTOP) of that drives diskrom. 
		;Also, a call to 0x4029 to the main diskrom (slotcode in 0xf348, EXBRSA) will stop all drives...
		ld ix,#4029:ld iy,(#F348-1):call CALSLT

[b]Rebooting[b]
Well, on some machines, it does not reboot as expected.
Beware (be aware) that OS has been 100% removed when I try this.

		;http://map.grauw.nl/resources/msx_io_ports.php#mmapper
		ld sp,#C000
		ld hl,#8002
		ld (hl),#C7:dec hl:ld (hl),#A8:dec hl:ld (hl),#D3 ; == OUT(#A8),A:RST#00
		ld a,#F0:jp (hl)

Is there a nicer way to (try to) reboot?

[b]Number of cycles within a frame[b]
Thanks to Le Riquet, I've been able to beta-test on NMS8280 (but also on V20, and the very nice guy also tested on other msx2 msx2+ turboR; let's thank him again!).
The demos needs/assumes that (almost) 71364 cpu-cycles set a frame, which means 313 scanlines of 228 cycles each.
On NMS8280? well, there's something like 228,5 cycles on a scanline, WTF?
Definitely: I cannot provide a patch for this.
Note: but I did for turboR and some msx2+, on which OUTs to VDP take 1 cycle more (see that thread).
As I understand Izy, Toshiba HX-10 is a similar case: testing 71364 cpu-cycles, does not give a frame.
Definitely (bis): I cannot provide a patch for this.
Just think about other (demo-)scenes:
1) ZX russian clones do have also different freq. and do not have same amount of cpu-cycles in one frame, compared to "standard" ZX Spectrum from Sinclair. Some demos run only on such "standard" machines. Well, back to MSX: a standard!? as far as I know, there are also some commercial games which have compatibility issues.
2) Amstrad CPC: some old & newer demos are just ignoring "some" old CPC which have a slightly different version of videochip (you might have heard of "CRTC" issues). Those high-end demos just don't run on "CRTC" type 2. And the (demo-)Scene allows this.
...
That said, well, I did not code to be compatible to all msx machines. Definitely. I did code to have fun by pushing VDP out of its "standard" use. It does not run on some machines? well, I did my best for patching, as another (painful and time-consuming) challenge. Then? nothing. I don't feel like a "customer care service" which must give support to customers. IO is a demo, supplied without guarantee.

By tonigalvez

Champion (280)

tonigalvez's picture

16-03-2015, 11:39

I am part of Batman Group and yes, the Batman Forever(I worked on the last picture, Batman looking to the windows and the Amstrad Beggins logo) demo on CPC, does not work in CRTC model 2 for some reason.

I am glad you make this demo @Overflow, MSX has so much to do in the demoscene, I hope you do more demos for MSX in the future.

By tonigalvez

Champion (280)

tonigalvez's picture

16-03-2015, 11:41

Overflow wrote:
Marq wrote:

Good stuff! Yet to see it on a real MSX1, as it doesn't want to work on a V-20 with MegaFlashROM SCC+ SD 512k (DOS2). Toshiba HX-10 and Nowind no luck either, according to Yzi.

On early December the demo was running great on openmsx. Then I had to take care of compatibilty. Some issues have been fixed (patches are automatically applied), some other issues are not. See also "nfo.txt" from zip file: many tests on differents machines, and likely an upcoming new build to fix what can ben fixed.

V-20 with MegaFlashROM SCC+ SD 512k (DOS2)
I believe that with your help guys we can get rid of this issue, about DOS2 or so.
Check http://www.msx.org/forum/msx-talk/openmsx/patching-io-demo for source of launcher.
My first guess. May this part of code be the issue?

		;http://www.msx.org/forum/development/msx-development/fd9f-i-dont-geddit
		;Stopping a disk drive could also be done by calling 0x401f (DSKTOP) of that drives diskrom. 
		;Also, a call to 0x4029 to the main diskrom (slotcode in 0xf348, EXBRSA) will stop all drives...
		ld ix,#4029:ld iy,(#F348-1):call CALSLT

[b]Rebooting[b]
Well, on some machines, it does not reboot as expected.
Beware (be aware) that OS has been 100% removed when I try this.

		;http://map.grauw.nl/resources/msx_io_ports.php#mmapper
		ld sp,#C000
		ld hl,#8002
		ld (hl),#C7:dec hl:ld (hl),#A8:dec hl:ld (hl),#D3 ; == OUT(#A8),A:RST#00
		ld a,#F0:jp (hl)

Is there a nicer way to (try to) reboot?

[b]Number of cycles within a frame[b]
Thanks to Le Riquet, I've been able to beta-test on NMS8280 (but also on V20, and the very nice guy also tested on other msx2 msx2+ turboR; let's thank him again!).
The demos needs/assumes that (almost) 71364 cpu-cycles set a frame, which means 313 scanlines of 228 cycles each.
On NMS8280? well, there's something like 228,5 cycles on a scanline, WTF?
Definitely: I cannot provide a patch for this.
Note: but I did for turboR and some msx2+, on which OUTs to VDP take 1 cycle more (see that thread).
As I understand Izy, Toshiba HX-10 is a similar case: testing 71364 cpu-cycles, does not give a frame.
Definitely (bis): I cannot provide a patch for this.
Just think about other (demo-)scenes:
1) ZX russian clones do have also different freq. and do not have same amount of cpu-cycles in one frame, compared to "standard" ZX Spectrum from Sinclair. Some demos run only on such "standard" machines. Well, back to MSX: a standard!? as far as I know, there are also some commercial games which have compatibility issues.
2) Amstrad CPC: some old & newer demos are just ignoring "some" old CPC which have a slightly different version of videochip (you might have heard of "CRTC" issues). Those high-end demos just don't run on "CRTC" type 2. And the (demo-)Scene allows this.
...
That said, well, I did not code to be compatible to all msx machines. Definitely. I did code to have fun by pushing VDP out of its "standard" use. It does not run on some machines? well, I did my best for patching, as another (painful and time-consuming) challenge. Then? nothing. I don't feel like a "customer care service" which must give support to customers. IO is a demo, supplied without guarantee.

People use to have more that one MSX model today, if your demo does not work on some model is no problem.

By Poltergeist

Champion (271)

Poltergeist's picture

16-03-2015, 12:28

tonigalvez wrote:

People use to have more that one MSX model today, if your demo does not work on some model is no problem.

That's a bold statement. That would quite undermine the basics of MSX. If it doesn''t work on all models, then there's something wrong...

Nonetheless: It looks great, and this shows again that true MSX'ians are sometimes trapped in the way of thinking; coming from other platforms, there is another mindset, and that leads to great products (who would have thought that SymbOS would be possible on MSX? )

By mars2000you

Enlighted (5468)

mars2000you's picture

16-03-2015, 12:50

Quote:

If it doesn''t work on all models, then there's something wrong...

Too simple. It lets me think to the question clearly opened by MSXdev'14 : if a MSX1 game/demo does not work with the Toshiba MSX1 VDP, it is reasonable to consider that the game/demo must be very severely judged, when you know that this VDP is used only in a few machines ? The wrong conception is not always in the game/demo, it can be present in some machines !

Besides, if a demo/game can be runned only at 50 Hz, it's not always a mistake. In the case of this demo, 50 Hz is required to get the correct desired graphical effects.

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