Detecting MSX2+ chips with MSX-basic ? (Development Foros MSX)MSX Resource Center MSX Info Update - Finnish MSX madness at its best           
                       
English Nederlands Español Português Russian                  
 Noticias
   Página principal
  Almacén de noticias
  Temas de noticias

 Recursos
   Foros MSX
  Artículos
  Analisis
  Informe de ferias/RUs
  Álbum de fotos
  Ferias y encuentros
  Encuestas
  Enlaces
  Buscar

 Software
   Descargas
  Tienda Online

 MRC
   Quiénes somos
  Únete a nuestro equipo
  Donar
  Políticas
  Contacta con nosotros
  Enlázanos
  Estadísticas

 Buscar
 
  

  

 Login
 

Login

Contraseña




¿Aún no tienes una cuenta? ¡Conviértete en miembro del MSX Resource Center! ¡Únete a nosotros!.


 Estadísticas
 

Hay 113 invitados y 3 miembros en línea

Eres un usuario anónimo.
 

Foros MSX


Foros MSX

Development - Detecting MSX2+ chips with MSX-basic ?

Ir a la página ( 1 | 2 Siguiente página )
Autor

Detecting MSX2+ chips with MSX-basic ?

Argon
msx professional
Mensajes: 842
Publicado: Enero 02 2004, 12:30   
Is it possible to check if an MSX computer has a VDP V9958 and the correct MSX2+ BIOS chips ?

- I think V9958 is simple, just go to screen 12 or so ?
- And for the BIOS chips, the basic version could tell me ?

Anyway, are my methods here good methods to check MSX2+ compatibility ?
If not, can anybody tell me how I could check without opening up the computer ?
(I prefer basic routines, I never did any ASM before)

Thanks.
K.
NYYRIKKI
msx master
Mensajes: 1500
Publicado: Enero 02 2004, 13:36   

Pure MSX1 BASIC can not detect VDP for sure, but other configurations are easy to detect. This should do the trick:

10 ON ERROR GOTO 30
20 GOTO 40
30 RESUME NEXT
40 A=(VDP(-1)AND62)2+1
50 ON ERROR GOTO 0
60 FOR I=0 TO 3:READ B$(I),V$(I):NEXT I
70 PRINTB$(PEEK(&H2D));" BIOS installed with ";V$(A);" VDP"
80 DATA MSX1,at least TMS9918/TMS9929,MSX2,V9938,MSX2+,V9948,MSX tR,V9958

~NYYRIKKI
NYYRIKKI
msx master
Mensajes: 1500
Publicado: Enero 02 2004, 13:44   
Quote:


- I think V9958 is simple, just go to screen 12 or so ?


This is bad idea, as if you have V9938 and MSX2+ BIOS you end up to SCREEN 8 but there is no error generated as BIOS does not check VDP version.
Quote:

- And for the BIOS chips, the basic version could tell me ?


It is better to check MSX version from BIOS as there are more MSX BASIC versions as there is MSX versions.

~NYYRIKKI
Argon
msx professional
Mensajes: 842
Publicado: Enero 02 2004, 15:50   
Quote:


Pure MSX1 BASIC can not detect VDP for sure, but other configurations are easy to detect. This should do the trick:

10 ON ERROR GOTO 30
20 GOTO 40
30 RESUME NEXT
40 A=(VDP(-1)AND62)2+1
50 ON ERROR GOTO 0
60 FOR I=0 TO 3:READ B$(I),V$(I):NEXT I
70 PRINTB$(PEEK(&H2D));" BIOS installed with ";V$(A);" VDP"
80 DATA MSX1,at least TMS9918/TMS9929,MSX2,V9938,MSX2+,V9948,MSX tR,V9958

~NYYRIKKI



Thank you very much. I will try it

Greetings.
Kris
Argon
msx professional
Mensajes: 842
Publicado: Enero 03 2004, 11:01   
I'm no basic expert, but is the code provided here able to detect a V9958 with a MSX2 computer ?

Thank you.
K.
NYYRIKKI
msx master
Mensajes: 1500
Publicado: Enero 03 2004, 11:59   
Yes it is... BTW here is a litte bit shorter version:

10 IF PEEK(&H2D)>0 then A=(VDP(-1)AND62)2+1
20 FOR I=0 TO 3:READ B$(I),V$(I):NEXT I
30 PRINTB$(PEEK(&H2D));" BIOS installed with ";V$(A);" VDP"
40 DATA MSX1,at least TMS9918/TMS9929,MSX2,V9938,MSX2+,V9948,MSX tR,V9958

~NYYRIKKI
Argon
msx professional
Mensajes: 842
Publicado: Enero 03 2004, 12:15   
Thanks again.
I haven't had the time to test it yet, but I will do so later today.

Greetings.
GuyveR800
msx guru
Mensajes: 3048
Publicado: Enero 03 2004, 14:37   
NYYRIKKI, either I read your program wrong, or you seem to say V9948 exists in MSX2+'s? In actuality, V9958 was used in both MSX2+ and MSXturboR.

V9948 was a chip especially designed for the Korean MSX market, the one with the illustrious SCREEN 9. Exactly what's different in regards to the V9938, I don't know, but some people have the technical datasheet. It wouldn't surprise me if just the Kanji-ROM connection was changed to a Korean-ROM or something like that.

NYYRIKKI
msx master
Mensajes: 1500
Publicado: Enero 03 2004, 15:22   
You read my program wrong.

I've heard about V9948 used in Korean MSX, but I'm not sure about that. If I'm correct, SCREEN 9 is a special version of SCREEN 0 where two characters are in top of each other forming double height korean characters. This way you get 80 *12 character display.

mars2000you
msx master
Mensajes: 1723
Publicado: Enero 03 2004, 15:30   
See the following page : http://web.inter.nl.net/users/A.P.Wulms/Mccm/mccm72/nofrschermen_eng.html

At the end of this page , you can read this :

"Screen 9 is indeed used on a Korean MSX model, to implement the hangul character set. This machine uses the V9948 VDP, from which Ademir Carchano has the complete databook.

Note: this also explains the gap between the V9938, used for MSX 2, and the V9958, used for MSX 2+. And it explains why the version number in the V9958 is 00010b in stead of 0001b. "

GuyveR800
msx guru
Mensajes: 3048
Publicado: Enero 03 2004, 17:23   
Quote:

You read my program wrong.


Seems I did ^^;

Anyway, this gives a syntax error:
10 IF PEEK(&H2D)>0 then A=(VDP(-1)AND62)2+1

It should be:
10 IF PEEK(&H2D)>0 then A=(VDP(-1)AND62)/2+1
NYYRIKKI
msx master
Mensajes: 1500
Publicado: Enero 03 2004, 18:31   
Quote:


It should be:
10 IF PEEK(&H2D)>0 then A=(VDP(-1)AND62)/2+1


There should have been backslash (or yen in japanese computers) that is integer divide in BASIC, but this forum does not like all characters. Anyway normal divide works just fine...
GuyveR800
msx guru
Mensajes: 3048
Publicado: Enero 03 2004, 18:37   
snout, fix the forum, damnit!
Argon
msx professional
Mensajes: 842
Publicado: Enero 03 2004, 23:03   
Ok, I ran the code on my NMS-8250.
Result= MSX2 with at least TMS9918/9928

Shouldn't it say V9938 for MSX2 ?

Greetings.
K.


Argon
msx professional
Mensajes: 842
Publicado: Enero 03 2004, 23:16   
Oops, my bad, I made a typing error
It works fine, thank you very much.

But about that V9948, is it possible to include that in the test ?
Or is it included ?

Could someone also explain to me line by line what this code example actually does and how it does it

Thank you very much.
K.
 
Ir a la página ( 1 | 2 Siguiente página )
 







(c) 1994 - 2008 Fundación MSX Resource Center. MSX es una marca registrada de MSX Licensing Corporation