-
All in one board and more ...
08/03/2022 at 11:16 • 0 commentsAfter a long time of not updating my Z80 project page, I upload the latest software and hardware update.
- Software upgrades:
- Divided source code into different assembler files and assembled separate with zmac and linked then with ld80 linker and generate HEX files, instead assembler all code into one HEX and then concatenate with BASIC HEX file. Clean assembler process and do with propper utilities, assembler all to rel (object files) and link all them.
- Separate declarations and constants into .inc files.
- Create a keyboard driver to read C64 keyboard using PSG (Same idea as LM80C Leonardo Milliani Computer).
- Using VDP graphics routines from Leonardo Milliani.
- Create new casette routines that able to save and load data from/to magnetic tape.
- Hardware upgrades:
- Created all-in-one PCB microcomputer with expansion bus, cassete port and CF IDE port. Also including CTC and Interrupt priority manager with '148 decoder and '373 register.
- Created cassette interface that uses PPI port to sends data to audio using FSK modulation (same schema as Dragon 32).
All updates are commited to github.
Cheers.
- Software upgrades:
-
Development Board
12/26/2021 at 20:11 • 0 commentsTo test directly code into SBC board I use EEPROM emulator from Kris Sekula Kris-Sekula/EPROM-EMU-NG: EPROM Emulator Project with Arduino (github.com). Its very useful to test directly code into real hardware without burn EPROMs.
-
Backplane and rack enclosure
07/20/2020 at 16:08 • 0 commentsComputer now have an aluminum rack enclosure with backplane inside. This is a adhoc enclosure based on old CNC computer rack enclosure with eurocard size but not use this card sizes. Maybe in the future change card sizes and adjust to eurocard size.
Backplane board component mounting process:
Rack enclosure build and measurements verify with final boards:
Computer mounted and working:
-
Latest code improvements
07/20/2020 at 15:45 • 0 commentsNow I learn about to prepare all routines to support console output mode redirect to VDP in textmode. Until now can view all text printed out on serial port and VDP display, solved bugs into my first text scroll up routine.
Try with simple BASIC program scrollup correct effect:
Change into RST 08 service routine to putchar to VDP and send to Serial:
.ORG 0008H RST08 DI CALL VDP_PUTCHAR EI JP TXA
Create main service routine dispatcher RST 20, this is a firmware main service routine that dispatch any firmware function, like: VDP or PSG control.
For example, to change screen mode:
LD A, 0 ; Mode 0 (TEXTMODE) LD B, 3 ; Call service routine number 1 (VDP_SET_MODE) RST $20
Or change screen color:
LD A, $F5 ; White foreground and light blue background LD B, 0 ; Call service routine number 0 (VDP_SETCOLOR) RST $20
-
Graphics and Sound Card
02/05/2020 at 22:05 • 0 commentsRecently design additional board to support output display graphics/text and sound generation. This card uses TMS9918 Video Display Processor and AY-3-8910 Sound Generator. This card have same dimensions like main CPU-IO board and controlled by main TTL decoder address IC.
The graphics VDP design are used similar than https://hackaday.io/project/165246-lm80c-color-computer and using 32KB Static RAM for video RAM explanied in https://cdn.hackaday.io/files/5789247676576/9918-SRAM.pdf.
-
Version 1.1
12/13/2019 at 16:46 • 1 commentIn version 1.1 modify address decoding circuit and replace "OR" logic gates to 74138 TTL decoder to switch between RAM/ROM and devices like: PIO, UART, VDP and SOUND Generator.
Otherwise, design an external decoder to other devices put an OR gate between /EN internal decoder 138 and /IORQ and A6.