Core Next186 PC-XT

Moderador: jepalza

Responder
Avatar de Usuario
jepalza
CPLD
Mensajes: 151
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
Veroboard
Mensajes: 17
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
CPLD
Mensajes: 151
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
CPLD
Mensajes: 151
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: 51
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

Subcritical
GAL
Mensajes: 63
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: 51
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

Responder

Volver a “Next186 PC-XT”