Core Next186 PC-XT
Moderador: jepalza
Core Next186 PC-XT
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.
Aquí vemos como se ejecuta un emulador de coprocesador, gracias a la trampa 80286:
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)
El contenido de la SD ,el core y los fuentes, se pueden coger en este enlace:
https://drive.google.com/open?id=1s5Obs ... 84nQHbgEIm
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.
Aquí vemos como se ejecuta un emulador de coprocesador, gracias a la trampa 80286:
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)
El contenido de la SD ,el core y los fuentes, se pueden coger en este enlace:
https://drive.google.com/open?id=1s5Obs ... 84nQHbgEIm
Re: Core Next186 PC-XT
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.
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.
Re: Core Next186 PC-XT
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
Solucionado, el drive tiene "generar enlace", que pocas veces uso
Re: Core Next186 PC-XT
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)
NOTA:
he incluído en el drive, el código fuente, con los cambios para el unamiga.
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
he incluído en el drive, el código fuente, con los cambios para el unamiga.
Re: Core Next186 PC-XT
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
https://github.com/ManuFerHi/Sidewinder ... es/Next186
- Subcritical
- Spartan 3
- Mensajes: 231
- Registrado: 24 Ago 2018, 14:52
Re: Core Next186 PC-XT - no conseguia compilar los fuentes con quartus II V13
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
Re: Core Next186 PC-XT
Una duda, hay un archivo .soc y dos .jic . ¿Cual de los dos .jic recomiendas para su uso?ManuFerHi escribió: ↑10 Nov 2018, 19:33No 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
MiST Board
ZX Uno
UNAmiga
1chipMSX
Zemmix Neo
ZX Uno
UNAmiga
1chipMSX
Zemmix Neo
Re: Core Next186 PC-XT
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.
Re: Core Next186 PC-XT
Ah, vale, perfecto . En mi caso es Unamiga. ¡Gracias!
MiST Board
ZX Uno
UNAmiga
1chipMSX
Zemmix Neo
ZX Uno
UNAmiga
1chipMSX
Zemmix Neo
Re: Core Next186 PC-XT
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
Una delicia Jepalza, gracias!
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
Una delicia Jepalza, gracias!