The Cortex-M7 on the left identifies the CPU inserted and take care of the clock, memory and serial comm. The firmware is around 300kB including all assembler, disassembler, debugger.
Plugging and unplugging it from a PLCC socket can easily damage the pins. I'm also in the process of ordering the QFP Z80180FSC and the original HD64180SH, so I'll do that soon.
I think the Z280 will be next, and i8095 needs to be finished.
Plugging and unplugging it from a PLCC socket can easily damage the pins. I'm also in the process of ordering the QFP Z80180FSC and the original HD64180SH, so I'll do that soon.
I think the Z280 will be next, and i8095 needs to be finished.
I was able to run it with zero wait, so it's much faster than the Z80.
Setting it to zero wait means the READY signal doesn't work, so I had to use a little ingenuity.
Now I think I'll try the Z180 next, since it's very similar.
I was able to run it with zero wait, so it's much faster than the Z80.
Setting it to zero wait means the READY signal doesn't work, so I had to use a little ingenuity.
Now I think I'll try the Z180 next, since it's very similar.
Because there was little bus signal, all instructions were executed by counting the cycles.
Multiplication took one clock, and division only required so called SUBC 16 times, so the Mandelbrot was quite fast.
Because there was little bus signal, all instructions were executed by counting the cycles.
Multiplication took one clock, and division only required so called SUBC 16 times, so the Mandelbrot was quite fast.
The Cortex-M7 on the left identifies the CPU inserted and take care of the clock, memory and serial comm. The firmware is around 300kB including all assembler, disassembler, debugger.
The Cortex-M7 on the left identifies the CPU inserted and take care of the clock, memory and serial comm. The firmware is around 300kB including all assembler, disassembler, debugger.
Making 12V 4 phase clock was crucial.
Making 12V 4 phase clock was crucial.
Considering instruction set, 68HC12 seems a younger brother of 6809, and 68HC16 is a orthodox successor of 6800.
Considering instruction set, 68HC12 seems a younger brother of 6809, and 68HC16 is a orthodox successor of 6800.
Thanks to 8-bit MUL and DIV, mandelbrot drawing is quite fast.
HC12 and HC16 are left to be implemented...
Thanks to 8-bit MUL and DIV, mandelbrot drawing is quite fast.
HC12 and HC16 are left to be implemented...
I'd like to try a CPU with built-in FPU, such as 68040 and 80486, but those require 3.3V and 32 bit data bus. CPU which can run on 16 bit data bus and 5V are up to 68030 and 80386, I think.
I'd like to try a CPU with built-in FPU, such as 68040 and 80486, but those require 3.3V and 32 bit data bus. CPU which can run on 16 bit data bus and 5V are up to 68030 and 80386, I think.
I learned that Z280 and Z380 are binary incompatible while coding assembler/disassembler. They use the prefix byte, CB/DD/ED/FD, quite differently.
I learned that Z280 and Z380 are binary incompatible while coding assembler/disassembler. They use the prefix byte, CB/DD/ED/FD, quite differently.
Use RESET to resume from HALT break point. PC is observable on the bus, INTE pin exists, other registers are preserved.
Mandelbrot speed is faster than I expected, probably due to inter-register operation.
Use RESET to resume from HALT break point. PC is observable on the bus, INTE pin exists, other registers are preserved.
Mandelbrot speed is faster than I expected, probably due to inter-register operation.
HD6120 has the improved bus design, and it needs no dummy read as IM6100 does. That is a one of reasons why HD6120 is faster than IM6100.
(asciinema.org/a/705921)
HD6120 has the improved bus design, and it needs no dummy read as IM6100 does. That is a one of reasons why HD6120 is faster than IM6100.
(asciinema.org/a/705921)
Passive level conversion can't make a pulse sharp. SYNC pulsing, so I guess it's OK.
I should strengthen the buffer and lower the pullup.
Passive level conversion can't make a pulse sharp. SYNC pulsing, so I guess it's OK.
I should strengthen the buffer and lower the pullup.
By injecting TMS99110 Macrostore ROM image, it can run floating point version of Mandelbrot drawing successfully.
I've been wanting to do this since I read the datasheet.
By injecting TMS99110 Macrostore ROM image, it can run floating point version of Mandelbrot drawing successfully.
I've been wanting to do this since I read the datasheet.
Hardware implementation friendly architecture makes programming like a puzzle. Even IOT instruction clobbers AC.
(asciinema.org/a/703143)
Hardware implementation friendly architecture makes programming like a puzzle. Even IOT instruction clobbers AC.
(asciinema.org/a/703143)
Intel 8080 could be my next target....
Intel 8080 could be my next target....
Mandelbrot drawing is quite simple thanks to floating point instructions (asciinema.org/a/702189)
Mandelbrot drawing is quite simple thanks to floating point instructions (asciinema.org/a/702189)
The 16-bit data bus width seems quite effective. The speed of Mandelbrot drawing is explosively fast!
The 16-bit data bus width seems quite effective. The speed of Mandelbrot drawing is explosively fast!
TMS9995 has optimized bus cycle design, signed multiply and divde instructions, 16-bit wide access to internal RAM. The speed of Mandelbrot drawing is much faster than TMS9981.
TMS9995 has optimized bus cycle design, signed multiply and divde instructions, 16-bit wide access to internal RAM. The speed of Mandelbrot drawing is much faster than TMS9981.
Too many bus cycles are observed unexpectedly because registers are in main memory and 8-bit bus width. The speed of Mandelbot seems rather fast thanks to MPY and DIV instructions.
#TMS9900
Too many bus cycles are observed unexpectedly because registers are in main memory and 8-bit bus width. The speed of Mandelbot seems rather fast thanks to MPY and DIV instructions.
#TMS9900
Am I doing something wrong?
Am I doing something wrong?