OpenCores
URL https://opencores.org/ocsvn/a-z80/a-z80/trunk

Subversion Repositories a-z80

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /a-z80/trunk/tools/dongle
    from Rev 3 to Rev 8
    Reverse comparison

Rev 3 → Rev 8

/daa/z80-instruction-test-daa.py
52,7 → 52,7
if not indata:
break
if indata[0]!=':':
if (("#017" in indata) or ("#020" in indata) or ("#053" in indata) or ("#056" in indata)):
if ("#017" in indata) or ("#020" in indata) or ("#053" in indata) or ("#056" in indata):
print (indata.rstrip('\r\n'))
sys.stderr.write (indata)
 
/daa/simulate-daa.py
1,4 → 1,4
#!/usr/bin/env python
#!/usr/bin/env python3
#
# This script simulates 'daa' calculation and generates values for numbers 0-255.
# These can be compared with a real Z80 run values.
15,7 → 15,7
inA = int(line[7:9], 16)
outA = int(line[13:15], 16)
outF = int(line[18:20], 16)
#print 'F:' + ("%0.2X" % inF) + ' A:' + ("%0.2X" % inA) + ' -> ' + ("%0.2X" % outA) + ' F:' + ("%0.2X" % outF)
#print ('F:' + ("%0.2X" % inF) + ' A:' + ("%0.2X" % inA) + ' -> ' + ("%0.2X" % outA) + ' F:' + ("%0.2X" % outF))
 
# Get the flags that will determine daa operation
hf = (inF>>4) & 1
59,4 → 59,4
 
flags = (sf<<7) | (zf<<6) | (yf<<5) | (hf<<4) | (xf<<3) | (pf<<2) | (nf<<1) | (cf<<0)
 
print 'F:' + ("%0.2X" % inF) + ' A:' + ("%0.2X" % inA) + ' -> ' + ("%0.2X" % finalA) + ' F:' + ("%0.2X" % flags)
print ('F:' + ("%0.2X" % inF) + ' A:' + ("%0.2X" % inA) + ' -> ' + ("%0.2X" % finalA) + ' F:' + ("%0.2X" % flags))
/sbc/simulate-sbc.py
1,4 → 1,4
#!/usr/bin/env python
#!/usr/bin/env python3
#
# This script simulates 'sbc' calculation and generates values for selected numbers.
# These can be compared with a real Z80 run values.
39,11 → 39,11
s += 'C'
else:
s += ' '
print 'Flags = %s' % s
print ('Flags = %s' % s)
 
def sbc(inA, op2, CYin):
print '------------------------------------------'
print 'Input: %0.2X SBC %0.2X CY = %0.2X' % ( inA, op2, CYin)
print ('------------------------------------------')
print ('Input: %0.2X SBC %0.2X CY = %0.2X' % ( inA, op2, CYin))
 
double_cpl = 0 # Flag that we did a double 1's complement
cplOp2 = op2 ^ 0xFF # Bit-wise complement of OP2
91,37 → 91,37
 
flags = (sf<<7) | (zf<<6) | (yf<<5) | (hf<<4) | (xf<<3) | (vf<<2) | (nf<<1) | (cf<<0)
 
print 'Out: A -> %0.2X Flags = %0.2X' % ( finalA, flags)
print ('Out: A -> %0.2X Flags = %0.2X' % ( finalA, flags))
printFlags(flags)
 
sbc(0, 0, 0)
print 'Should be A -> 00 Flags = 42'
print ('Should be A -> 00 Flags = 42')
printFlags(0x42)
sbc(0, 1, 0)
print 'Should be A -> FF Flags = BB'
print ('Should be A -> FF Flags = BB')
printFlags(0xBB)
 
sbc(0, 0, 1)
print 'Should be A -> FF Flags = BB'
print ('Should be A -> FF Flags = BB')
printFlags(0xBB)
sbc(0, 1, 1)
print 'Should be A -> FE Flags = BB'
print ('Should be A -> FE Flags = BB')
printFlags(0xBB)
 
sbc(0xAA, 0x55, 0)
print 'Should be A -> 55 Flags = 06'
print ('Should be A -> 55 Flags = 06')
printFlags(0x06)
sbc(0x55, 0xAA, 0)
print 'Should be A -> AB Flags = BF'
print ('Should be A -> AB Flags = BF')
printFlags(0xBF)
 
sbc(0xAA, 0x55, 1)
print 'Should be A -> 54 Flags = 06'
print ('Should be A -> 54 Flags = 06')
printFlags(0x06)
sbc(0x55, 0xAA, 1)
print 'Should be A -> AA Flags = BF'
print ('Should be A -> AA Flags = BF')
printFlags(0xBF)
 
sbc(0x0F, 0x03, 1)
print 'Should be A -> 0B Flags = 0A'
print ('Should be A -> 0B Flags = 0A')
printFlags(0x0A)
/sbc/simulate-sub.py
1,4 → 1,4
#!/usr/bin/env python
#!/usr/bin/env python3
#
# This script simulates 'sub' calculation and generates values for selected numbers.
# These can be compared with a real Z80 run values.
39,11 → 39,11
s += 'C'
else:
s += ' '
print 'Flags = %s' % s
print ('Flags = %s' % s)
 
def sbc(inA, op2, CYin):
print '------------------------------------------'
print 'Input: %0.2X SUB %0.2X' % ( inA, op2)
print ('------------------------------------------')
print ('Input: %0.2X SUB %0.2X' % ( inA, op2))
 
cplA = inA ^ 0xFF # Bit-wise complement of A
CYin = 1
79,23 → 79,23
 
flags = (sf<<7) | (zf<<6) | (yf<<5) | (hf<<4) | (xf<<3) | (vf<<2) | (nf<<1) | (cf<<0)
 
print 'Out: A -> %0.2X Flags = %0.2X' % ( finalA, flags)
print ('Out: A -> %0.2X Flags = %0.2X' % ( finalA, flags))
printFlags(flags)
 
sbc(0, 0, 0)
print 'Should be A -> 00 Flags = 42'
print ('Should be A -> 00 Flags = 42')
printFlags(0x42)
sbc(0, 1, 0)
print 'Should be A -> FF Flags = BB'
print ('Should be A -> FF Flags = BB')
printFlags(0xBB)
 
sbc(0xAA, 0x55, 0)
print 'Should be A -> 55 Flags = 06'
print ('Should be A -> 55 Flags = 06')
printFlags(0x06)
sbc(0x55, 0xAA, 0)
print 'Should be A -> AB Flags = BF'
print ('Should be A -> AB Flags = BF')
printFlags(0xBF)
 
sbc(0x0F, 0x03, 0)
print 'Should be A -> 0C Flags = 0A'
print ('Should be A -> 0C Flags = 0A')
printFlags(0x0A)
/neg/simulate-neg.py
1,4 → 1,4
#!/usr/bin/env python
#!/usr/bin/env python3
#
# This script simulates 'neg' calculation and generates values for numbers 0-255.
# These can be compared with a real Z80 run values.
55,4 → 55,4
 
flags = (sf<<7) | (zf<<6) | (yf<<5) | (hf<<4) | (xf<<3) | (vf<<2) | (nf<<1) | (cf<<0)
 
print '%0.2X -> %0.2X Flags = %0.2X' % ( inA, finalA, flags)
print ('%0.2X -> %0.2X Flags = %0.2X' % ( inA, finalA, flags))

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.