Products > Test Equipment
Some old school instruments showing how it's done (HP 3325A and Fluke 8506a)
joeqsmith:
More the beginning of my own personal downfall. 8080s, assembler.... obviously a mental problem. :-DD
I tried getting some of the old tools to run. CMP86 will run under a DOSbox. CMP86 will run Jim Lopushinsky's Z80.CMD. The Z80.CMD will all run the old Digital Research simulator/debuggers to some level. It will also run the old Microsoft assembler, to some degree. I just haven't been able to actually assemble a program and link it. Attempting to just get something very basic to work. 2 lines of code sort of thing. Baby steps.
It really is starting to look like we need some better tools for 2021.
SilverSolder:
Better tools for 8080 will probably be a DIY project...
joeqsmith:
Some success with the Microsoft tool set. I was able to assemble and link some fairly large 8080 syntax programs with it.
joeqsmith:
I'm still sorting out the syntax for the old tools and reading up on the old 8080. These tools and their documentation are all available for free on-line if anyone is interested attempting to use them. Seems only fitting to use these old tools to hack the old meter. :-DD
Looking at the example code from:
https://en.wikipedia.org/wiki/Intel_8080#Example_code
I changed the origin to 0 and removed the return just to give me a simple program to test with. Attached is the listing from the Microsoft tools.
Again, you would need to setup a DOSBox, download Jim's tool set (from 1985 :-DD) and download the Microsoft macro assembler and linker. I am just running it from all from the command prompt using a batch file to automate the process. I have not yet worked out the Digital Research tools.
If I had another junk meter, I would replace that U18 prom with a GAL with a custom memory map that would place all of the code in U24. I may still do this with a small plug in board. This may make things easier once I actually start to look at and modify the original code.
MACRO-80 3.44 09-Dec-81 PAGE 1
; memcpy --
; Copy a block of memory from one location to another.
;
; Entry registers
; BC - Number of bytes to copy
; DEAddress of source data block
; HL - Address of target data block
;
; Return registers
; BC - Zero
org 000h ;Origin at 0000h
0000' 78 mov a,b ;Copy register B to register A
0001' B1 ora c ;Bitwise OR of A and C into register A
0002' C8 rz ;Return if the zero-flag is set high.
0003' 1A loop: ldax d ;Load A from the address pointed by DE
0004' 77 mov m,a ;Store A into the address pointed by HL
0005' 13 inx d ;Increment DE
0006' 23 inx h ;Increment HL
0007' 0B dcx b ;Decrement BC (does not affect Flags)
0008' 78 mov a,b ;Copy B to A (so as to compare BC with zero)
0009' B1 ora c ;A = A | C (set zero)
000A' C2 0003' jnz loop ;Jump to 'loop:' if the zero-flag is not set.
end
MACRO-80 3.44 09-Dec-81 PAGE S
Macros:
Symbols:
0003' LOOP
No Fatal error(s)
s)
0008' 78
SilverSolder:
LOL seems you are really getting into some serious digital archaeology there, @joeqsmith! :D
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version