ASM vs. .asm vs. Assembly vs. Assembler

nsaspook

Joined Aug 27, 2009
13,315
Do they still work? For old times sake, I want to build a Z80 computer to run Rogue on CP/M :). I play with CP/M on an emulator, but there is nothing like real iron.
I might need to replace the old capacitors but they should work. The Z80 will the easy one to get going again as it only needs 5vdc instead of +-5, +12 and non-ttl clock phases from the DP8224 for the 8080A, plus I can use SDCC to program it instead of assembly.
http://sdcc.sourceforge.net/mediawiki/index.php/Z80_port
http://www.ti.com/lit/ds/snosbp9a/snosbp9a.pdf
 

nsaspook

Joined Aug 27, 2009
13,315
Slow week around the house so I hacked the PIC MEMORY/IO emulator (work in progress) for the Z80 board.

The main problem is the lack of speed using PIC18 interrupts for Z80 memory accesses. 2.8 usec between ISR calls in response to Z80 signals and 12 usecs to process. If I really needed speed (using Assembly) I could poll for the MREQ_/IORQ_ signals in main but it will work as-is for a desk curio with an SPI character display.

C software: https://github.com/nsaspook/z80memio.git


Z80 test program loop in an array from the C code. Start at PC address 0, NOP, DINT, RST 8, -> RST 16, -> RST 24, -> RST 0.
The other opcodes are HALT to test for PIC emulation addressing errors.


Opcode memory accesses and delays from the RST instructions from the PIC SPI debug view port.
Top trace is the SPI clock, bottom trace is the SDO signal with the NOP (all zeros) access as the first
signal burst. The long delays between RST opcodes is caused by unneeded Z80 DRAM refresh requests
being processed by the PIC.

SPI debug detail with the Z80 running the loop program: 8 bit address 0x08, 8 bit opcode data 0xd7.


I had no 40 pin wire-wrap socket in the junk bin so I just soldered it.


It's alive. Z80 date code from 1978.
 
Last edited:

Thread Starter

joeyd999

Joined Jun 6, 2011
5,287
Awesome. I had wondered before if the PIC could be used to emulate RAM/ROM...

BTW, you had me scratching my head on 'DINT' until I saw the opcode. Should be 'DI', unless you speak a different dialect than me.
 

nsaspook

Joined Aug 27, 2009
13,315
BTW, you had me scratching my head on 'DINT' until I saw the opcode. Should be 'DI', unless you speak a different dialect than me.
'DI' brings back bad memories, I had a gunny as a boss for time and we had to keep reminding him we were Navy and not in Boot Camp. :p
 

Thread Starter

joeyd999

Joined Jun 6, 2011
5,287
...we had to keep reminding him we were Navy...
Yeah. I heard this story once:

A U.S. Marine and a Naval officer were just finishing up in the head. The Marine headed for the door while the Naval officer was at the sink.

The officer said sternly, "You know, in the Navy, they teach us to wash our hands after we pee."

"Yes, sir," said the Marine. "In the Marines, they teach us not to piss on our hands."
 

Thread Starter

joeyd999

Joined Jun 6, 2011
5,287
Slow week around the house so I hacked the PIC MEMORY/IO emulator (work in progress) for the Z80 board.
BTW, when I do eventually get around to building my Z80, I'll use modern programmable logic for memory/port address decoding, timing, and device selection.

The last time I did any programmable logic was back in the early '90s. I wrote ABLE via a command-line compiler, and used a DataIO programmer.

What tools/languages are used today? Are there 'free' development environments available?
 

nsaspook

Joined Aug 27, 2009
13,315
BTW, when I do eventually get around to building my Z80, I'll use modern programmable logic for memory/port address decoding, timing, and device selection.
Part of the 'fun' was doing something a little strange with a chip made in 1978 (I think it's a 2.5MHz part that I over-clocked to 2.6) on a board I vaguely remember building as one module for a video processor. Most of the chips on the board are tri-state bus drivers, the Z80 reduced the needed glue to only a few TTL gates.

Now my 'Wall Hanger' S100 graphics controller could have used a lot of modern programmable logic instead of discrete TTL.

 
Last edited:

nsaspook

Joined Aug 27, 2009
13,315
http://www.theatlantic.com/technolo...-should-not-call-themselves-engineers/414271/
The U.S. Bureau of Labor and Statistics (BLS) calls the “engineers” who work at Google and Uber and Facebook and its ilk “Computer Programmers” or “Software Developers.” The former write code, the latter design systems. Nobody has to follow the BLS’s definitions, and you can understand why more grandiose titles would appealing to Silicon Valley disruptors. “Engineer” conjures the image of the hard-hat-topped designer-builder, carefully crafting tomorrow. But such an aspiration is rarely realized by computing. The respectability of engineering, a feature built over many decades of closely controlled, education- and apprenticeship-oriented certification, becomes reinterpreted as a fast-and-loose commitment to craftwork as business.
Today who cares what you are called if you can get the job done but I'm asking HR to change my official work title to 'Magician' before retirement. :)
The ability to turn dirt into gold has become my specialty.
 
Top