Core Next186 PC-XT

Moderador: jepalza

Avatar de Usuario
jepalza
Spartan 3
Mensajes: 226
Registrado: 14 Ago 2018, 18:51

Core Next186 PC-XT

Mensaje por jepalza » 17 Ago 2018, 18:06

Versión para UnAmiga del core de Opencores (https://opencores.org/project/next186_soc_pc). es una versión un tanto especial, ya que lleva una pequeña trampa, muy simple, que consisten en engañar a un registro "pop" que solicita la CPU cuando se le pide identifcar el tipo de CPU. Si le devuelvo el valor que espera que devuelva un 80286, el msdos se lo cree y lo muestra como tal, a pesar de ser un "simple" 80186.
Esta trampa es ideal para poder instalar por ejemplo, un coprocesador matemático por "soft", como el EM8087 , y de ese modo, podemos cargar viejas aplicaciones al estilo del POV-RAY o el Autocad ;-)
Pero claro, es solo una trampa, por que, si se le piden instrucciones específicas del 80286, no va a funcionar, dado que no existen. Con esto, espondería a la hipotética pregunta "¿y si lo dijeras que es un 386?". Como la diferencia entre un 80266 y 80186 es mínima, apenas se da cuenta el sistema operativo. Y las instrucciones específicas del 80286 son pocas, y raras de usar.
Otra cosa, es que no funciona el modo protegido del 80286 y superiores, que permite emplear la memoria para crear CPU virtuales y conseguir la multitarea. Aquí solo tenemos el modo real, que es poco, pero permite ejecutar un Windows 3.0, con una pequeña trampa, incluída en los ficheros de la SD.

De momento, estamos obligados a tener la BIOS grabada en los últimos 8k de la tarjeta sd de 4gb, mediante el programa HxD, por ejemplo.

Imagen

Aquí vemos como se ejecuta un emulador de coprocesador, gracias a la trampa 80286:
Imagen

Y las mas chula de todas: Windows 3.0 con la trampa del Kernel que publicó Quest en el foro hermano zxuno (www.zxuno.es)
( por cierto, con la "sombrilla" preparada por AntonioVillena y el menda lerenda)
Imagen


El contenido de la SD ,el core y los fuentes, se pueden coger en este enlace:
https://drive.google.com/open?id=1s5Obs ... 84nQHbgEIm

Avatar de Usuario
spark2k06
PLA
Mensajes: 49
Registrado: 17 Ago 2018, 18:43

Re: Core Next186 PC-XT

Mensaje por spark2k06 » 17 Ago 2018, 19:05

La dirección de google drive parece que apunta al core de minimig.

Edito: perdón, veo que no sólo está el de minimig, también el de next186. Me ha confundido el nombre de la carpeta.

Avatar de Usuario
jepalza
Spartan 3
Mensajes: 226
Registrado: 14 Ago 2018, 18:51

Re: Core Next186 PC-XT

Mensaje por jepalza » 17 Ago 2018, 19:34

Pues tienes razón, no quería que apuntara a todo, sino solo al fichero del next, pero veo que no ha funcionado el "copiar/pegar", a ver si lo soluciono.
Solucionado, el drive tiene "generar enlace", que pocas veces uso

Avatar de Usuario
jepalza
Spartan 3
Mensajes: 226
Registrado: 14 Ago 2018, 18:51

Re: Core Next186 PC-XT

Mensaje por jepalza » 19 Ago 2018, 09:20

Si queréis ver la "trampa" para modo 286, es esta:

El cambio mas importante (y simple) es en el módulo de CPU "Next186_CPU.V" (línea 1640 aproximadamente)

Código: Seleccionar todo

end else begin
	MREQ = 1'b0;
	ISIZE = 1; // jepalza, antes "0", sirve para engañar a algunos programas que detectan CPU y se cuelgan
	IRQ = 1'b1;
end
NOTA:
he incluído en el drive, el código fuente, con los cambios para el unamiga.

ManuFerHi
GAL
Mensajes: 70
Registrado: 17 Sep 2018, 09:50

Re: Core Next186 PC-XT

Mensaje por ManuFerHi » 10 Nov 2018, 19:33

No me funcionaba el teclado con los archivos sintetizados que has dejado, he vuelto a sintetizar tus fuentes y ya funciona, funciona bastante bien este core. He dejado los nuevos archivos sintetizados en mi github y también una imagen ya preparada de 8gb para montar con win32diskimager que ya contiene la bios en los últimos 8ks.
https://github.com/ManuFerHi/Sidewinder ... es/Next186

Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Re: Core Next186 PC-XT - no conseguia compilar los fuentes con quartus II V13

Mensaje por Subcritical » 23 Nov 2018, 07:09

Código: Seleccionar todo

Error (125091): Tcl error: ERROR: Illegal assignment: IP_GENERATED_DEVICE_FAMILY. Specify a legal assignment name.

    while executing
"set_global_assignment -name IP_GENERATED_DEVICE_FAMILY "{Cyclone IV E}""
    (file "opl3_in.qip" line 3)
	Info (125063): set_global_assignment -name IP_TOOL_VERSION 17.1 -qip opl3_in.qip
Borré todos los .qip de los fuentes y el proyecto compiló sin problemas en quartus 13, por si alguien tiene el mismo problema a la hora de compilar el Next186.

Avatar de Usuario
xenon
Veroboard
Mensajes: 2
Registrado: 30 Sep 2018, 17:15

Re: Core Next186 PC-XT

Mensaje por xenon » 14 Ene 2019, 20:41

ManuFerHi escribió:
10 Nov 2018, 19:33
No me funcionaba el teclado con los archivos sintetizados que has dejado, he vuelto a sintetizar tus fuentes y ya funciona, funciona bastante bien este core. He dejado los nuevos archivos sintetizados en mi github y también una imagen ya preparada de 8gb para montar con win32diskimager que ya contiene la bios en los últimos 8ks.
https://github.com/ManuFerHi/Sidewinder ... es/Next186
Una duda, hay un archivo .soc y dos .jic . ¿Cual de los dos .jic recomiendas para su uso?
MiST Board
ZX Uno
UNAmiga
1chipMSX
Zemmix Neo

ManuFerHi
GAL
Mensajes: 70
Registrado: 17 Sep 2018, 09:50

Re: Core Next186 PC-XT

Mensaje por ManuFerHi » 14 Ene 2019, 21:28

el archivo JIC es el archivo de programación de la memoria flash, si tu placa base tiene una flash M25P64 (UnAmiga) pues el Q64 y si tu placa tiene un M25P16 (Sidewinder) pues el Q16.

Avatar de Usuario
xenon
Veroboard
Mensajes: 2
Registrado: 30 Sep 2018, 17:15

Re: Core Next186 PC-XT

Mensaje por xenon » 15 Ene 2019, 09:03

Ah, vale, perfecto :-) . En mi caso es Unamiga. ¡Gracias!
MiST Board
ZX Uno
UNAmiga
1chipMSX
Zemmix Neo

Uto
PLA
Mensajes: 20
Registrado: 25 Ago 2018, 12:01

Re: Core Next186 PC-XT

Mensaje por Uto » 30 Jul 2019, 23:38

Bueno, ahora que tengo el multicore y no me da pereza inmensa andar tostando cores, he probado este de Next186, y es una pa-sa-da.

He partido de la tarjeta que puso Manuferhi en su repo, y le he redimensionado la partición del disco C hasta los 2Gb para poder meter más cosas.

Desde luego hay juegos que no van, incluso de los que deberían ir, o juegos como el Monkey Island que si eliges la opcion Adlib se queda frito, tengo que investigar por qué, pero en general, esto da para jugar a todas las joyas que no requieren un 386.

He intentado Win 3.11 con el driver ese de emular 386 pero no lo he conseguido echar a andar.

Bueno, me quedan muchas cosas por probar, y me gustaría probar un benchmark para DOS, porque lo que si que noto es que va a toda leche.

Finalmente, una cosa sí le echo en falta: un reset por teclado, porque la placa multicore me tapa el botón de reset de la placa china, y es un poco rollo tener que apagar/encender, porque eso te obliga a que el multicore tenga que reflashear el cor, que oye son 10 segundos, pero cuando estás probando muchos, son muchas veces 10 segundos entre los que se cuelgan, y los que no encuentras el botón de salir y no va el Ctr+alt+suor :-D

Una delicia Jepalza, gracias!

Responder

Volver a “Next186 PC-XT”