¿NEC V30, 8080 compatible ?

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

¿NEC V30, 8080 compatible ?

Mensajepor ron » 14 Feb 2012 22:49

El sábado el colega mr.computer que siempre me cuenta algunas guindas que ha visto, me comentó que había estado leyendo que el microprocesador usado en muchos PC el Nec V30 era compatible o tenía cierta compatibilidad con el Intel 8080.

Pues me quedé un poco atento a la jugada y hoy he decidido salir de dudas... , compatible compatible ?? , emulado más bien...

http://www.pageofmarco.de/v30.php

NEC V30 specific features

The CPU inside inside AFX series is a 16Bit NEC V30 @8MHz beeing fully compatible with Intel 80186. However, there are some additional instructions for bit and bit field manipulation and an MCS80/8085/Z80 compatibility mode, furthermore another mnemonic similar to that of Z80 has been defined. Though NEC V30 (released in 1984) runs at the same speed, it's around 10 to 30% faster than 8086 (depending on application) due to some internal improvements. Today there are even some other improvements concerning e.g. very low power consumption.

MCS80/8085/Z80 compatibility mode

Also called "Emulation Mode". In this mode the CPU is capable to execute any code written for Intel 8080 (released in 1974), also known as "MCS80". It was the first successfull CPU at all (used for Altair 8800 for example) and has been the predecessor of all modern 8Bit CPUs such as Intel 8085 and Zylog Z80 (the most successfull 8Bit processor ever and still in use today).

Note that 8085 and Z80 CPUs are fully 8080 compatible, but not vice versa (especially Z80, that has an widely advanced instruction set). So it's doubtfull whether this emulation mode is very profitable due to the 8080's limitations compared to Z80, and note: there's rarely 8080 software out there, but still lots for Z80. However, AFX series surely doesn't use this mode, except the Casio CFX's CPU was a 8080 (Casio could run parts of the CFX's OS on AFX then, but I don't believe it).

In order to switch to that mode and back, there are three instructions: brkem (call an 8080 interrupt), retem (return from 8080 interrupt) and calln (call 80186 interrupt). Refer to NEC V30 Manual for details.


Por tanto queda aclarado que puede ejecutar código y pseudocódigo 8080, dudo mucho que pueda funcionar como un micro independiente pero ejecutar como decía mr.computer ya sabemos que es afirmativo.

Finalmente añadir:

An unusual feature of the NEC V20 was that it added an Intel 8080 emulation mode, in which it could execute programs written for the Intel 8080 processors. The instructions BRKEM executed in 8086 mode (NEC used a different notation for the instructions than Intel and BRK in NEC notation = INT in Intel notation) and RETEM and CALLN executed in 8080 mode was used to switch or return to or from the emulation mode.

There was a V2080 CPMulator program which allowed to run 8080-based CP/M-80 programs on a MS-DOS machine.


javu61
Mensajes: 325
Registrado: 26 Mar 2011 15:58
Agradecimiento recibido: 1 vez

Re: ¿NEC V30, 8080 compatible ?

Mensajepor javu61 » 14 Feb 2012 23:05

Hola:

Mas discusiones sobre procesadores, ¿les toca ahora Ron?, bueno, colaboro gustoso con lo que se.

El V30 es un clon del 8086. El 8086 es una evolución del 8080, con el que es compatible, pero solo a nivel de código fuente, no de binarios, podías coger el programa en ensamblador y recompilarlo, funcionando sin problemas (en teoría). Igual que en teoría, el Z80 es una evolución del 8080, y por tanto compatible con el.

Por tanto, no es un secreto que el V30 fuera compatible 8080, lo que no veo tan claro es que realmente tenga un modo compatible específico (ojo, no lo puedo asegurar), ya que cuando salió el V30, el 8080 había pasado a la historia de los pioneros.

Saludos

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: ¿NEC V30, 8080 compatible ?

Mensajepor ron » 14 Feb 2012 23:18

javu61 escribió:Hola:

Mas discusiones sobre procesadores, ¿les toca ahora Ron?


No creo, es simplemente la dinámica de la web, he sacado el tema porque me he acordado, pero te puedes tu acordar perfectamente de como hacer discos desde un C128D para otros sistemas, o de como reparar un Honeywell, cien mil cosas... cualquier cosa es buena si la temática es la que nos gusta ;-)

Saludos

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: ¿NEC V30, 8080 compatible ?

Mensajepor ron » 14 Feb 2012 23:23

ftp://nic.funet.fi/pub/msdos/Mirrors/etana/doc/v2080.txt

64K V2080 CPeMulator Version 3.21 as of 8 January, 1988
Copyright (c) 1985, 1986, 1987, 1988 Michael Day

OPERATION: To run a program, type "V2080 FILENAME" at the MS-DOS prompt (CP/M
programs are assumed to have a filename extent of .CPM). Use of this program
requires that a NEC V20 chip be installed in the computer in place of the 8088
mpu (or V30 for 80186 machines). This will allow you to run 8080 based CP/M-80
programs on your MS-DOS machine (within hardware and software limitations).

If you wish to receive documented source code, 8086/286/386 versions, and other
good stuff please send $40 (American), or for more information write:
Michael Day, C/O Day Research, P.O. Box 22902, Milwaukie, OR 97222

This archive contains two versions of CPeMulator, one with ADM3A emulation,
and one without (use your own DOS device driver). The archive also contains
documentation on the use of the V2080 CPeMulator.


Directory PD1:
V2080J88.ARC BINARY 24267 643BH

64K V2080 CPeMulator Version 3.21 as of 8 January, 1988

OPERATION: To run a program, type "V2080 FILENAME" at the MS-DOS
prompt (CP/M programs are assumed to have a filename extent of .CPM).
Use of this program requires that a NEC V20 chip be installed in the
computer in place of the 8088 mpu (or V30 for 80186 machines). This
will allow you to run 8080 based CP/M-80 programs on your MS-DOS
machine (within hardware and software limitations).

Avatar de Usuario
DyLucke
Mensajes: 4726
Registrado: 30 Oct 2010 12:52
Ubicación: Pompaela vieja
Agradecido : 136 veces
Agradecimiento recibido: 183 veces

Re: ¿NEC V30, 8080 compatible ?

Mensajepor DyLucke » 15 Feb 2012 00:48

Pues tendrás la oportunidad de comprobarlo pronto, tu V30 para el A500 está listo para ser enviado, su sustituto ha llegado hoy.

Hasta donde yo sé el V30 era el micro que montaban los primeros PC98, es un clon del 8086 que se desarrolló por ingeniería inversa, es compatible pin a pin con un 8088, incluye código del 80186, lo cual le permite rodar con relativo éxito software para 286, y es un 30% más rápido que un intel debido a que el V30 contiene hardware específico de multiplicación, no tiene que recurrir a rutinas internas para realizarlo.

Recuerdo un hack para XT montando un V30 que permitía rodar Wolfenstein 3D con razonable fluidez. Cosa impensable en un 8086.

"I'm playing games.
You've nowhere to run,
I'm a piece of the sun,
i'm an army of one...
I'm the man with the gun".

Avatar de Usuario
DyLucke
Mensajes: 4726
Registrado: 30 Oct 2010 12:52
Ubicación: Pompaela vieja
Agradecido : 136 veces
Agradecimiento recibido: 183 veces

Re: ¿NEC V30, 8080 compatible ?

Mensajepor DyLucke » 15 Feb 2012 00:53

"I'm playing games.
You've nowhere to run,
I'm a piece of the sun,
i'm an army of one...
I'm the man with the gun".

jepalza

Re: ¿NEC V30, 8080 compatible ?

Mensajepor jepalza » 16 Feb 2012 19:55

Yo como lo desconcozco, no opino. Sólo sé, que era un micro muy común, por que era mas barato que los Intel, y creo recordar, que consumía menos, por lo que era idóneo en "portables" (que no "portátiles"), como el Amstrad PPC512/640:

Imagen

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: ¿NEC V30, 8080 compatible ?

Mensajepor ron » 17 Feb 2012 21:37

Pa que me pondré a buscar si luego se que me engancho y no puedo parar...

http://dandelion-patch.mit.edu/afs/sipb/project/eichin/emulators/simtel/

V2080J88.ARC B 24267 880118 Run CP/M-80 programs on system with V20 CPU


DyLucke ya lo estás probando colega !!!!

Por otro lado:

NECVCPM.ZIP: 7K Source code for the CPM-80 emulator. Executes CPM-80 under CPM-86 on the NEC V20/V30 range of processors. Source code contains instructions of how to compile .CMD program and how it works.


http://www.cpm.z80.de/binary.html

Emulators: 86EMULAT.ZIP (45k)

http://www.nostalgia8.nl/mirrors/cpm86/files.htm

This archive contains the following programs:
8080.......CP/M-80 emulator; runs 8080-code CP/M .COM files.
VCPM.......A CP/M-80 emulator for use with the NEC V20 or V30
processors. Uses the NEC's native 8080 mode. Much
faster than software emulation.
Z80........CP/M-80 emulator; runs Z80-code CP/M .COM files.

System-Related Stuff: 86SYSUTL.ZIP (40k)

This archive contains the following programs:
BATCHECK...CMOS battery checker. For 286-and-up.
CHKMEM.....Displays total conventional memory, free memory.
CPUDATE....Displays the date of the computer's CPU chip.
DETECT.....Reports machine's processor type.
EMUL.......Sets V20/V30 processor to CP/M-80 mode.



The CP/M-86 system must have a NEC V20/V30 series CPU as it has the
8080 mode of operation (YES 8080!) and then you need a small bit of
code to start a 8080 program and link it nack to the V20 in 8086/88
mode.

The alternate is have a secondary 8085/z80 like the Compro and other
systems did (dec rainbow too) to run CP/M 80 programs and interface to
the 8086/88.

22NCE132.ZIP Z80 CP/M emulator for MS-DOS systems. SYDEX
68EM10.ZIP 6800 emulator for DOS, includes a realtime O/S
AME86.ARC CP/M-86 emulator for MS-DOS
APL2EM.ZIP Apple ][ emulator for 286+, w/ASM source code
JPP_B4.ZIP Sinclair ZX Spectrum 48K emulator, req 386+VGA
MCX11V15.ZIP MC68HC11 MicroController multitask eXecutive
MYZ80103.ZIP Simeon Cran's Z80 CP/M and Z-System emulator
SIM68102.ZIP Motorola 68HC11 MicroController simulater
SPEC145.ZIP Emulates a Sinclair ZX Spectrum on any PC
V2080J88.ARC Run CP/M-80 programs on system with V20 CPU
V20BOOT.ZIP Turbo Pascal source code for V20 CP/M emulator
XTNDR064.ZIP XTender v0.64: Timex/Sinclair ZX81 emulator
Z80MU52B.ARC CP/M (Z80 processor) emulator for MS-DOS
ZRUN321.ARC Z80 CP/M emulator for MS-DOS
ZSIM12.ZIP Z80 emulator + CP/M 80 bios to RUN CP/M


Directory PD1:
Filename Type Length Date Description
==============================================
22NCE132.ZIP B 50113 910610 Z80 CP/M emulator for MS-DOS systems. SYDEX
68EM10.ZIP B 63243 910615 6800 emulator for DOS, includes a realtime O/S
AME86.ARC B 29262 880803 CP/M-86 emulator for MS-DOS
APL2EM.ZIP B 216652 900808 Apple ][ emulator for 286+, w/ASM source code
JPP-B4.ZIP B 120682 920502 Sinclair ZX Spectrum 48K emulator, req 386+VGA
MCX11V15.ZIP B 73874 920312 MC68HC11 MicroController multitask eXecutive
SIM68102.ZIP B 80820 920312 Motorola 68HC11 MicroController simulater
V2080J88.ARC B 24267 880118 Run CP/M-80 programs on system with V20 CPU
V20BOOT.ZIP B 81330 900522 Turbo Pascal source code for V20 CP/M emulator
Z80MU52B.ARC B 117207 900108 CP/M (Z80 processor) emulator for MS-DOS
ZRUN321.ARC B 34238 881216 Z80 CP/M emulator for MS-DOS
ZSIM12.ZIP B 276636 920115 Z80 emulator + CP/M 80 bios to RUN CP/M






mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45
Agradecimiento recibido: 8 veces

Re: ¿NEC V30, 8080 compatible ?

Mensajepor mcleod_ideafix » 17 Feb 2012 23:12

ron escribió:El sábado el colega mr.computer que siempre me cuenta algunas guindas que ha visto, me comentó que había estado leyendo que el microprocesador usado en muchos PC el Nec V30 era compatible o tenía cierta compatibilidad con el Intel 8080.


Por lo que recuerdo, el NEC V30 es compatible a nivel binario con el Z80 (o era del 8080?). Arranca en modo 8086, y con una instrucción no documentada (no existente en 8086), pasa a modo "compatible Z80". Para volver al modo 8086 creo que usa una de las instrucciones RST, o bien otra instrucción no existente en el Z80. Me suena que podría ser compatible Z80 y no 8080 porque una de las empresas licenciadas para su fabricación era la propia Zilog.

Recuerdo también un hilo, creo que en SPAM!, donde se mencionaba el por qué no se le puso al PC200 este micro, en lugar del Intel. De haberlo puesto, habría abierto una puerta (pequeña, pero abierta) a la compatibilidad binaria con software del Spectrum.

Más información, aquí:
http://www.buchty.net/casio/files/V50-manual.pdf

Concretamente, en la página 44 (55 del PDF) teneis la instrucción que se usa como puerta de entrada al modo 8080.

Curiosamente, parece ser, según esta documentación, que esta característica no era exclusiva del V30. En la página 1 (12 del PDF) se da a entender que la capacidad de entrar y salir del modo de emulación 8080 estaba disponible en los NEC V20, V30, V40, y V50.

El NEC V20 es bastante más común y más usado en clones PC, por lo que es posible que alguno de vosotros pueda probar estas instrucciones :)
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.


Volver a “PC & Compatibles X86”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados