The behavior of the machine on this test is indeed weird.
VG8020/20 (S3527 based) converted to MSX2 using Nyyrikki "no RTC" roms for SVI738: (and 60hz modded by me, since Brazil uses 60hz ...)
NTSC mode:
PAL mode:
That feels fairly standard, huh ?
Does anyone have the 1st tool used for testing in this thread? The original link seems to be broken.
Here's a temporary link :
It can also be found on the ADVRAM page of Ricardo Bittencourt :
http://www.ricbit.com/mundobizarro/advram/
It is included in this file : http://www.ricbit.com/mundobizarro/advram/vtest.zip
Thanks, mars2000you!
ok, here a new benchmark.
benchmark doing a clear thing, disable interrupt and otir and rasterline display.
@hit9918
Wouldn't it be better to use 256 OUTI instead of OTIR? Since this runs faster on the Z80, it would allow to better detect any slowdowns enforced by the chipset.
ok, this time with outi.
The random pixels are 1k of ROM copied onscreen, the pattern shall stand stable, maybe if one day a config overspeeds vram speed then one gets indication.
and using line interrupt to get at the top of the screen, no more difference PAL vs NTSC, all machines should fit on the scale.
MSX2 finishes around line 88, TurboR around line 140.
cutnpaste the BASIC to run.
the asm file is just for info.
10 clear 200,&hc000 : p% = &hc000 'loading asm there 20 defusr0 = p% 30 restore 10000 : gosub 5000 'load asm code 60 color 15,4,1 : screen 5 : set adjust(0,0) 62 open "grp:"as #1 65 for i = 0 to 211 step 8 : line (0,i)-(255,i),15 : preset(0,i) : ?#1,i : next 70 x=usr(0) 4999 STOP 'when above code forgot END 5000 read a$ : if a$ = "END" then return 5010 poke p%,val("&h"+a$) : p%=p%+1 : goto 5000 10000 DATA F3,CD,30,C0,CD,67,C0,3E 10008 DATA 08,CD,5A,C0,1E,0E,3E,00 10016 DATA CD,4C,C0,21,00,44,ED,4B 10024 DATA 06,00,0C,ED,69,ED,61,21 10032 DATA 00,00,11,00,04,CD,75,C0 10040 DATA 3E,00,CD,5A,C0,C3,04,C0 10048 DATA 1E,13,3E,00,CD,4C,C0,3E 10056 DATA 01,1E,0F,CD,4C,C0,3A,DF 10064 DATA F3,CB,E7,32,DF,F3,1E,00 10072 DATA CD,4C,C0,C9,F3,ED,4B,06 10080 DATA 00,0C,ED,79,7B,F6,80,ED 10088 DATA 79,C9,F3,ED,4B,06,00,0C 10096 DATA ED,79,3E,87,ED,79,C9,F3 10104 DATA ED,4B,06,00,0C,ED,78,E6 10112 DATA 01,C0,C3,67,C0,ED,4B,06 10120 DATA 00,14,1B,1C,7B,E6,F0,47 10128 DATA ED,A3,ED,A3,ED,A3,ED,A3 10136 DATA ED,A3,ED,A3,ED,A3,ED,A3 10144 DATA ED,A3,ED,A3,ED,A3,ED,A3 10152 DATA ED,A3,ED,A3,ED,A3,ED,A3 10160 DATA C2,80,C0,15,C2,80,C0,C9 10168 DATA END
org 0xc000 - 7 db 0xFE dw start dw end - 1 dw start start: di call setline loop: call sync ld a,8 call color ld e,14 ld a,0 call setreg ld hl,0x4000+8*128 ld bc,(6) inc c out (c),l out (c),h ld hl,0 ld de,1024 call copy ld a,0 call color jp loop RG0SAV equ 0xF3DF RG1SAV equ 0xF3E0 setline: ld e,19 ;interrupt line ld a,0 call setreg ld a,1 ld e,15 call setreg ;select s#1 ld a,(RG0SAV) set 4,a ld (RG0SAV),a ld e,0 call setreg ret ;vdp(e) = a setreg: di ld bc,(6) inc c out (c),a ld a,e or 128 out (c),a ret color: di ld bc,(6) inc c out (c),a ld a,0x87 out (c),a ret sync: di ld bc,(6) inc c in a,(c) and 0x01 ret nz jp sync copy: ld bc,(6) ;de to format of nested jp nz inc d dec de inc e ld a,e and 0xF0 ;align to 16 ld b,a cl: outi outi outi outi outi outi outi outi outi outi outi outi outi outi outi outi jp nz,cl dec d jp nz,cl ret end:
and the red bar means time taken, the fatter it is, the slower it is. R800 mode is slower.
HECK now that I think of it, better read from RAM, maybe some turbos slow down in ROM.
change this line to copy from 0x8000 RAM.
10032 DATA 00,80,11,00,04,CD,75,C0
I've done a series of tests with the OTIR version. I'll publish them here soon.
As I mentioned, I've done a series of tests with hit9918's VDPSPEED.BAS (OTIR version). All machines were tested at their default frame rate. The results may come as a surprise for many here. Some highlights:
1) All MSX2+ machines featured the same kind of frame drop (entirely blue frames) you've seen on Sturaro's ExpertTurbo machine. Around 3 frame drops per second. (note: I don't have any MSX2 here, and the test wouldn't work with my external V9938 cards because it's hardcoded to the I/O port 98h).
2) The Panasonic FS-A1WX at 5.37MHz was almost as slow to write to the VDP as the Turbo-Rs in R800 mode.
3) The MSX1 ran the test just fine, the TMS9918 has show no frame drops. The T6950 OTOH has shown some frame drops.
Now, the pictures:
Panasonic FS-A1ST, Z80
Panasonic FS-A1ST, R800
Panasonic FS-A1WX, 3.57MHz
Panasonic FS-A1WX, 5.37MHz
Sanyo PHC-70FD
Gradiente GPC-1
Sharp HB-8000 v1.2
Sony HB-20P