Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » NEC V20 / V30 und I8080 Emulation mode? » Themenansicht

Autor Thread - Seiten: -1-
000
17.12.2013, 21:18 Uhr
holm

Avatar von holm

Die verbesserten NEC Nachbauten des I8088 und I8086 verfügen über einen Emulationsmode für de I8080
wie auch hier unterhalb zu lesen ist. Ich habe uralte AM2900 Assembler Software mit einem Bisschen Framework drumherum, das bewerkstelligen soll das diese CP/M Software auf einem DOS PC mit einem V20 oder V30 laufen soll. Wichtig dafür ein ein Programm Namens X.com, von DR.
Im Program X.com ist Folgendes zu lesen:

Quellcode:
64K  V20-80 CPeMulator  Version 2.02 as of October 7, 1985
           Copyright (c) 1985  U.S. DIGITAL Corporation

To run a program, type "V2080 FILENAME" at the MSDOS prompt (CPM 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.  This
will allow you to run 8080 based CPM-80 programs on your MSDOS machine (within
hardware and software limitations).  DISCLAIMER: U.S. Digital makes no
warranties or claims of the fitness of this product for any particular purpose.
(As always, make backups before trying anything!)

NOTICE: Users of this program are granted a limited license to make copies
of this program for trial use by others on a private non-commercial basis.
This limited license does not include --
1. Distributing this program in connection with any other product
2. Making the program available for any consideration or "disk fee"
3. Distributing the program in modified form.  Thank you for your cooperation!

If you have received this program and find it of value, your $35 contribution
will be appreciated. In exchange, we will send you the latest release,
a manual, and a catalog of our other fine products.
     For more information please call (503) 654-0668 or write
U.S. Digital Corporation, 5687 S.E. International Way, Milwaukie, OR  97222


Da drin gibts noch hübsche Kommentare für Leute wie uns:

Quellcode:
Oh dear, you are looking around in here? Sigh...
That does not bode too well I would think. It is beginning
to look to me like you are intending to steal my code.
Sigh... Now I am getting depressed...
....
I do not suppose asking you nicely to not steal my code
would make any difference would it?
....
Still with us are you?  Sigh, and I had such high hopes for you.
...
Persistant little devil aren't you?
....
As is your head.
...
Sigh... You realize don't you that you are causing me to lose
faith in you. It is more then simple curiosity for you to have
gotten this far.
...

und Weiteres..

Das gibts als Readme zum Paket


Quellcode:
TO USE THE MICRO ASSEMBLER TYPE ASM <FILENAME>
YOU MAY PUT MS/DOS BATCH FILES TOGETHER USING ASM.BAT AS A EXAMPLE
YOU MAY USE YOUR EDITOR ON MS/DOS TO CREATE FILES FOR THE ASSEMBLER
THIS SOFTWARE REQUIRES AN NEC V20 OR V30 PROCESSOR TO FUNCTION.
THIS IS NON-SUPPORTED SOFTWARE !!!!!!!!!!!!!!!!!!!!
THIS ASSEMBLER WILL WORK ON:
2901,2903,29203
29116,29117
29331,29325
141
FOR BETTER TOOLS AND SUPPORT SEE:
STEP ENGINEERING
HEWLETT PACKARD
HI-LEVEL TECHNOLOGY
TEKTRONIX
THANK YOU FOR USING ADVANCED MICRO DEVICES PRODUCTS
D.H.G. COLUMBUS 8/5/86

Hier eine V20 Beschreibung...


Quellcode:
ESKAY    9/14/85

What a name for a file, you my think..

This is a brief rundown of the NEC uPD70116, also known as the V30.
To my knowledge, most of this also applies to the V20.


The V30 is a 16-bit microprocessor in a 40-pin package with the same
pinout as Intel's 8086.  I see it basically as an enhanced 8086 with
extended features, but it may also be considered a stripped-down
80186 with extended features.

The V30's mnemonics are significantly different from Intel's, this is
probably due to legal considerations.  We users shouldn't get hung up
on this and simply use Intel's mnemonics...


The V30 has three types of instructions:

- 8086-compatible instruction set
- enhanced instructions (80186 compatible)
- unique extended instructions.

Note: the data sheet says nothing about 80186 but I found the opcodes for
      "enhanced" instructions to be identical to those found in the 80186.

Since everyone knows the 8086 instructions, let's look at the "enhanced"
instructions, which are really the 80186 extensions in disguise:


NEC mnemonics    INTEL mnemonics    Example        Function

PUSH imm    PUSH imm    PUSH 77H    Push an immediate value
PUSH R        PUSHA        PUSHA        Push 8 general-purpose regs
POP R        POPA        POPA        Pop 8 general-purpose regs
MUL imm        MUL imm        MUL AX,7    Multiply reg/mem by immediate
all shift/rotate instructions
with immediate arguments    SHR AX,3
CHKIND        BOUND        BOUND        Check array boundary
INM        INS        INS BYTE    Input string from port DX
                        to [DI]
OUTM        OUTS        OUTS BYTE    Output string from [SI]
                        to port DX
PREPARE        ENTER        ENTER 28,3    Allocate stack frame for
                        procedure
DISPOSE        LEAVE        LEAVE        Deallocate stack frame when
                        leaving procedure

The V30 has the following unique instructions:

INS        Insert bit field
EXT        Extract bit field
ADD4S        Add packed BCD strings
SUB4S        Subtract packed BCD strings
CMP4S        Compare packed BCD strings
ROL4        Rotates 1 BCD digit left through AL low nybble
ROR4        Rotates 1 BCD digit right through AL low nybble
TEST1        Test a specified bit and set/reset Z flag
NOT1        Invert a specified bit
CLR1        Clear a specified bit
SET1        Set a secified bit
REPC        Repeat until CY clear
REPNC        Repeat until CY set
FPO2        Additional floating point processor call


Additionally, the V30 has a mode bit (bit 15 of the flags register)
which determines whether the chip operates in "native" mode or in
"8080 emulation" mode. The following instructions control the mode bit:

BRKEM        break for emulation
RETEM        return from emulation
CALLN        call native routine
RETI        return from interrupt/native routine

In 8080 emulation mode, the registers are used as follows:
A=AL, B=CH, C=CL, D=DH, E=DL, H=BH, L=BL, SP=BP




Due to hardware differences between the Intel 8086 and the V30, the
V30 executes most instructions faster than the 8086. Thus, even if none of
the advanced features are used, replacing your existing 8086 with a V30 should
speed your system up.

As of last week, the V30 was not yet available to the general public.
The V20, however, (the 8088 replacement) is available and is being offered
for sale by some local distributors.

For more information, contact your local NEC support office or NEC parts
dealer (in Dallas, go by "Off the shelf components" at 11441 Stemmons Fwy
[247-0052] and ask for a spec sheet).

Both the V20 and V30 come in 5MHz and 8MHz clock speeds.  As soon as the
8MHz V30 becomes available, I'll run some benchmarks on it.

Ich halte das für ganz interessant, nur braucht das außer mir keine Sau, zumindest den CP/M Emulator auf V20/30 braucht wohl Keiner mehr..

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}

Dieser Beitrag wurde am 17.12.2013 um 21:19 Uhr von holm editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek