Muntz65 Prototype

Introduction

Muntz65 is a fast but bare bone 6502 computer with just 6502, RAM, 22V10, and 25.175MHz oscillator. Discussion about it here

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_muntz65_dsc_75071206_f.jpg

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_muntz65_dsc_75081206.jpg

Features

  • W65C02 at 25.175MHz
  • 128K RAM, 64K in use
  • GAL22V10 or ATF22V10
  • bit-bang serial at 115200, 8-bit data, no parity, 2 stop bits

Theory of Operation

22V10 has 10 outputs; eight of them have large sum-of-product array with 10 to 16 product terms per output. The number of product terms are not the same with pins 17, 18 having 16 product terms while pin 15,22 having 10 product terms. By selectively assigning the most used data bits to output with largest product terms and least used data bits to outputs with smaller product terms, a decent size ROM can be created out of 22V10's logic array. The size of ROM achievable is depended on data contents as well as data bit pin assignment. By trials and errors, 40-50 bytes of 6502 program can be embedded in 22V10's logic array.

The 10 outputs of a 22V10 can be partition into 8 outputs for 40-50 bytes of ROM, and a outputs for RAM output enable and a register for serial transmitter. The RAM output enable is active low when accessing memories from $0-$EFFF. When RAM output enable is active, RAM is driving the data bus.

The serial port as implemented in 22V10 is a simple bit-bang serial transmitter and receiver. The serial receiver is a 2.4K resistor between serial receive terminal and 6502's data bit 7; while the serial transmitter is a writable register in memory range of $F000-$F7FF. Accessing $F000 clears the TX register and drive TX output to high voltage level; accessing $F020 set the TX register and drive TX output to low voltage level. TX register is cleared when power is initially applied.

The ROM program in 22V10 is executed immediately after reset. It continuously samples data bit 7 (serial receive) for start bit; once start bit is detected, it waits 1-1/2 bit time to read in serial data and afterward sample serial data every bit time to a byte of data and write it into RAM starting from $300 to $3FF. When 256 bytes of serial data is written, the program jumps to $300.

Design Information

Software

Bootstrap software in GAL22V10

256-byte Intel Hex loader, load first then use it to load Muntz65 monitor

Muntz65 monitor, a bare bone monitor to display, modify memory, load and run software.

Projects

Driving WS2812 Panel

By bit-bang the serial transmitter at higher data rate (800KHz), the same transmitter can be hooked up to a WS2812 panel to display data. In this case it is a 8×8 panel and 192 bytes of color data was transmitted in 2 milliseconds without causing printable gibberish on the serial port. Link to the Christmas Tree program.

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_muntz65_dsc_75171223.jpg

Barebone 6502 as VGA Controller

By adding a shift register and a horizontal sync generator, the 25.175MHz 6502 can scan a region of memory as graphic video data to display monochrome 640×480 VGA images. It functions as a VGA controller.

www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_plasmo_muntz65_dsc_75321231.jpg

builderpages/plasmo/muntz65/prototype_home.txt · Last modified: 2024/01/01 09:13 by plasmo
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0