February 3Rd UPDATE

The C256 Foenix Project

Bitmap, Tiles & Sprites...

JUMPMAN SENIOR - Rise of the Millenials (A mock-up)

As much as December has been prolific, I would say that January has been as well. As you can see above, we got ourselves some Tiles and Sprites. I have created a video update to better explains the newly implemented features. I would recommend that you take a gander at it, it's is full of juicy details and from now on, I will probably do the bulk of the explaining through video media.

In a nutshell, the graphics core has been created and to a high degree, debugged. (there are still some minor issues to solve) It is now useable. Early in the month, I also got the OPL2s to work, you can hear a sample in the video. Again, the core of it works, but there still some details to iron out.

Now, before I can start thinking about releasing the product to early adopters which I would like to do as soon as possible, there are still a few major things I need to do:

1- Hardware In-System Debugger*

2- Implement a preliminary VDMA Controller (Vicky DMA)*

2- Complete the Interrupt Controller*

3- Complete the Timer Controller*

4- Instantiate Gideon's Zweijter's 16x Channel SID in Beatrix*,***

5- Implement the CODEC ADC Sampling Block**

6- Implement the CODEC DAC Sampling Block**

7- Implement an SDMA Controller (System DMA)**

8- Code wise, implement a small command parser.*

 

After the list will be completed and executed, there will be a second batch of improvements.

 

Note:

*- Tasks that need to be performed before I can release boards.

**- Tasks that need to be done, but not necessary for pre-release

***- Gideon was kind enough to allow me to use his design in the Foenix, Thank you Gideon!

 

See below for the link to the Fev 1st, 2019 Video Update on Youtube...

Tile Maps

 

Here is an example of a 256x256 map (16x16 Tiles set) That I created with Aseprite. I used Gimp to transfer the color indexed BMP into a RAW file (binary) that I imported in my code. Since the Original file was made with indexed colors, Gimp provided me with a palette file as well that I loaded in one of the 4 actual look-up tables. The whole process flow was fairly easy.

A small block of memory is allocated inside of the FPGA to create the MAP itself and the beauty of this, is that the access to the map memory is direct and doesn't requires to access the video memory at all. 

In other words, what lies in the video memory is specifically the graphical information which can then be manipulated through the different registers and memory block region inside of Vicky.

The deal is, there is so much processing to be able to handle the different graphic features that the amount of time available for the CPU to actually access the video memory is very limited. So, I made sure that the required access would be cut down to a minimum.

I will soon upload the sample code I created on Git, so some of you can start looking into it.

 

The January 2019 update video is primarily the RevA to RevB video that I wanted to do few months back. I decided to join the two of them... Hope you like it. It is mainly the story from the beginning and it ends with the latest update.

Check out my website  
This email was created with Wix.‌ Discover More