<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ATCDC: Digimorf, Day 35, The project SEGA SG-1000 Emulator on PSoC62S4 Pioneer kit - part 8</title><link>/challenges-projects/design-challenges/at-the-core-design-challenge/b/blog/posts/atcdc-digimorf-day-35-the-project-sega-sg-1000-emulator-on-psoc62s4-pioneer-kit---part-7</link><description>Have you ever seen the movie &amp;quot;Apollo 13&amp;quot;? It&amp;#39;s one of my favorite movies.
There are many sequences that I like, and many moments of my life match them perfectly. This is the time of the sequence where Ken Mattingly spends hours in a simulator putting</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: ATCDC: Digimorf, Day 35, The project SEGA SG-1000 Emulator on PSoC62S4 Pioneer kit - part 8</title><link>https://community.element14.com/challenges-projects/design-challenges/at-the-core-design-challenge/b/blog/posts/atcdc-digimorf-day-35-the-project-sega-sg-1000-emulator-on-psoc62s4-pioneer-kit---part-7</link><pubDate>Thu, 06 Apr 2023 22:07:04 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4d8e6914-7030-462d-a558-f573fcf9d9ca</guid><dc:creator>Digimorf</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Another problem is that the buffer used for rendering graphics into is in a shared memory portion, so if the DMA is accessing the SRAM for streaming the pixels, if the other core accesses at the same time for rendering graphics, even if in another portion of memory, the DMA is affected by some traffic, and the resulting scanline is deformed at video.&lt;/p&gt;
&lt;p&gt;I think I already reached the limits of this board concerning emulation of retro consoles. But, there is still the hope to make something payable [emoticon:98f842990f454422aa6a04953955f9d9]&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25595&amp;AppID=392&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: ATCDC: Digimorf, Day 35, The project SEGA SG-1000 Emulator on PSoC62S4 Pioneer kit - part 8</title><link>https://community.element14.com/challenges-projects/design-challenges/at-the-core-design-challenge/b/blog/posts/atcdc-digimorf-day-35-the-project-sega-sg-1000-emulator-on-psoc62s4-pioneer-kit---part-7</link><pubDate>Wed, 05 Apr 2023 21:53:20 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4d8e6914-7030-462d-a558-f573fcf9d9ca</guid><dc:creator>dang74</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Cool project.&amp;nbsp; At one point I wanted to design an FPGA based emulator for Coleco Vision.&amp;nbsp; From what I understand the architecture between SG-1000 and Coleco Vision are very similar.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25595&amp;AppID=392&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: ATCDC: Digimorf, Day 35, The project SEGA SG-1000 Emulator on PSoC62S4 Pioneer kit - part 8</title><link>https://community.element14.com/challenges-projects/design-challenges/at-the-core-design-challenge/b/blog/posts/atcdc-digimorf-day-35-the-project-sega-sg-1000-emulator-on-psoc62s4-pioneer-kit---part-7</link><pubDate>Tue, 04 Apr 2023 20:06:53 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4d8e6914-7030-462d-a558-f573fcf9d9ca</guid><dc:creator>Digimorf</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Maybe, and I am not saying it too loud, I have a solution.&lt;/p&gt;
&lt;p&gt;In order to fit everything needed by the emulator to run, I need 8KB more than offered by the PSoc6. This is because, for a fluid video playing, a double video frame buffer is needed. While the VGA video driver is showing the front buffer, the emulator is rendering the next frame in the back buffer.&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Unfortunately, the video resolution generated by the VDP TMS9918 is 256*192 pixels wide. That means 49152 bytes or 98304 bytes for a double frame buffer. Moreover, the VDP has 16KB of VRAM, used to store graphic tiles, sprites, etc. Uh, don&amp;#39;t forget the machine RAM used by the Z80 CPU, which is 2KB.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The total so far is&amp;nbsp;116,736 bytes. The maximum offered by this PSoC6 is 128Kb, and it should work, but unfortunately, it doesn&amp;#39;t.&lt;/p&gt;
&lt;p&gt;Mumble, mumble...&lt;/p&gt;
&lt;p&gt;If I&amp;nbsp;use one frame buffer only, the emulator must render the graphics while the VGA driver is not showing the active area of the video, so let&amp;#39;s say the blank area. So (525 - (192 * 2)) = 141&amp;nbsp;scanlines of time.&lt;/p&gt;
&lt;p&gt;It could work, but the emulator needs to perform other tasks also, like rendering audio, accessing the ROM, etc. I could go for this solution, but...&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Mumble, mumble...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " height="225" src="/cfs-file/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-4d8e6914-7030-462d-a558-f573fcf9d9ca/wilecoyote.gif" width="298" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;What if instead of rendering a whole frame at a time, I render half frame at a time?&amp;nbsp; I could use the double buffer technique but&amp;nbsp;applied it to half of a buffer. So while the VGA driver is showing the first half of the frame, the emulator renders the second half, and so on...&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I will try it, wish me luck!&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25595&amp;AppID=392&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: ATCDC: Digimorf, Day 35, The project SEGA SG-1000 Emulator on PSoC62S4 Pioneer kit - part 8</title><link>https://community.element14.com/challenges-projects/design-challenges/at-the-core-design-challenge/b/blog/posts/atcdc-digimorf-day-35-the-project-sega-sg-1000-emulator-on-psoc62s4-pioneer-kit---part-7</link><pubDate>Tue, 04 Apr 2023 15:11:29 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4d8e6914-7030-462d-a558-f573fcf9d9ca</guid><dc:creator>Digimorf</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;My new nickname&amp;nbsp;will be Byteskaven&amp;nbsp;[emoticon:98f842990f454422aa6a04953955f9d9]&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25595&amp;AppID=392&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>