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)) |