Primary offering

1) Purpose

Thus far, the UperGrafx has been very well received by Japanese customers, thanks to its built-in CD-ROM2 compatible functions. 

However, the number of customers from English-speaking countries is fairly small, mainly due to the UGX-02 lacking some key functions which this audience desires, along with limited English-language customer support.

The reasons for these limitations are due to a lack of man-power (currently there is only one main staffer and a few volunteers), and also due the UperGrafx hardware itself being designed back in 2016.

Another major issue is the high retail price. In order to lower the price, the only solution is to manufacture the UperGrafx on a larger scale and increase sales volume. In order to achieve this, it is necessary to hire more full-time staff.

In terms of functions, the three most requested features are: 
  • analog RGB support
  • memory card filesystem support
  • support for various disc image filetypes (such as ISOs)
Since I am the main staffer, I will dedicate myself to designing a new product that includes these features.

2) Required Budget

The targeted retail price for the new model is US$300. However, this price target may increase or decrease depending on any factors encountered during actual development.

2-1) Rough Estimate

This new project is estimated to cost US$50,000.

The cost breakdown is as follows:
  • Hire a new full-time staffer who is fluent in both English and Japanese for 6 to 12 months.
  • Design a new case and a new connector mold (if enough extra funds are available).
  • Start-up costs and travel expenses related to the manufacturing process.
The cost savings from using more modern components is negligible, so will not be included at this time.

2-2) Repayment Duty

As the main staffer, I am satisfied with the current number of customers for the UGX-02. Because this is a niche product, a new model will not be designed until funding for the entire project is secured. If the new model is a success in terms of sales, the amount of money funded for this project will be paid back. However, if sales are low, the start-up cost shall not be repaid.

Note: These investor and developer requirements (for this project) are subject to change in accordance to laws and tax rules. If it is determined that changes are necessary after a formal review, then priority will be given to changes that minimize the amount of risk undertaken by the developer as much as possible.

3) New Functions of New Hardware Design

3-1) Analog RGB Output Support

I have received a lot of requests about adding analog RGB output, so I have decided to add it. I heard some rumors that the HSync and VSync pins in the EXTBUS have different timings for CRT HS and VS. The FPGA will read the HS and VS, and it will output a timing good enough for display on a CRT with the new circuit. There will be no latency in terms of millisecond units.

3-2) Modern Filesystem Support

As can be seen in 4-1, the MCU modules use about half of the logic elements (LEs) on the FPGA. I will offload these to an embedded MCU independent from the FPGA, The new independent MCU will be a STM32F0 series chip. This will solve the problem regarding the lack of LEs. I can then use high level software libraries and more powerful peripherals which are supported by this MCU manufacturer.

I will also publish my firmware as open source, so that some developers can  modified firmware into our compatible products.

3-3) Powerful Video Functions

I will design new video modules that are both inside and outside the FPGA. I want to replace the SRAM with a frame buffer. I will change it to a Quad SPI type from a parallel IO type. By doing this, I can provide 3 improvements at once - total size reduction, higher performance, and bring the cost down.

The area outside the display frames are a barren video screen with the current module. This is due to the limits of the hardware design. If I design new hardware, users will be able to change what is displayed in this area by uploading whatever pictures they prefer. Adding analog RGB support seems difficult, so the new digital video module will be designed to output an extra screen layer.

3-4) New Configuration and Image Selector Screens (w/ some limitations)

The software behind the current configuration and image selector screens is written as if it were original PCE software, which is specifically designed to communicate with the MCU. This PCE software is written in 65C02 assembly, not C compiler. However, I feel it takes way too much time to debug, so I would like to rewrite this software in modern C. These new config and image screens would be displayed on a new screen layer, which would be controlled by the new MCU. Though it's more difficult to support analog RGB with this extra screen layer.

4) Limits of UGX-0x series Hardware Design

I shall now explain the current hardware design on a more technical level.

The UGX-01 was originally designed back in 2016 with the specific purpose of directly transmitting the pure digital video signal from the EXTBUS. I then added a CD-ROM2 compatibility function to the UGX-01 as a way of showing gratitude to customers. The only difference between the UGX-01 and UGX-02 is the amount of SRAM usable by the PCE. I have been able to add these upgrades thanks to the funding generated from purchases of both the UGX-01 and UGX-02 up to now. However, once CD-ROM2 compatibility was implemented, the amount of available hardware resources was greatly diminished. As a result, there were not enough available resources left over to implement features such as a filesystem, making partition management very inconvenient for users. I knew this was going to be an issue prior to implementing it, but I decided to go ahead with it anyway.

4-1) Limits of Logic Elements on the FPGA

UGX-01 and UGX-02 uses an FPGA. This is the utilization breakdown:
  • 94%: total logic elements on the FPGA
  • ----
  • 48%: MCU and their peripheral registers with half of the CD-ROM2 functions (Virtual CD Drive)
  • 20%: PCE CPU bus functions and half of the CD-ROM2 functions (SCSI and ADPCM controller)
  • 15%: digital video functions
  • 10%: sound (I2S driver and audio mixer)

4-2) The weak MCU and its Peripheral Registers

My hardware uses an open source, AVR-compatible, softcore processor module. "AVR-compatible" only refers to this module's software layer. I added many original peripheral registers (interrupt controller, timers, etc) when I need them. These additions are not compatible with the original AVR series.

I have published on this website my specification document for the peripherals. Non-described functions are controlled by the hardware layer. Firmware developers cannot change the hardware layer.

avr_memorymap.txt (written in Japanese)

4-3) Firmware

The MCU peripheral registers directly control the hardware layer. My firmware has no operating system. It's a rudimentary embedded software.
In fact, my firmware never diverts and links source codes like emulators for PCs do, so developers can only read the source codes as pure text documents. Emulators are designed with powerful CPUs and high performance operating systems. Emulators can control serialized virtual time in real time. By contrast, my rudimentary embedded software can only run in parallel with real hardware in real time. These differences in the software mean that the way in which the source code is written is also fundamentally different.

4-4) My Opinions regarding making the UGX-02 series Open Source

As pointed out in sections 4-2 and 4-3, the main issues with this are:
  • Understanding that the technical specifications are non-standard is very important
  • More control registers need to be added in order to add more functions
  • The current software is heavily customized in order to work with the hardware
With the way things are now, I believe that it's going to be very difficult for others to assist in improving the MCU software even if it goes open source. As for making the hardware open source, doing that would make it easy for 3rd party companies to manufacture replicas of my product, and I can't afford to deal with that as a small business.