nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Jun 2017 20:09



Reply to topic  [ 14 posts ] 
[PIC32] XORYA - extremely low cost game console 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
This discussion topic about my project codenamed "XORYA":

https://hackaday.io/project/5507-xorya-extremely-low-cost-game-console-on-pic32

P.S. Microchip just retwitted and followed me :o

https://twitter.com/MicrochipTech


Attachments:
File comment: Microchip twitter
microchip.gif
microchip.gif [ 65.17 KiB | Viewed 4844 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
29 Apr 2015 09:33
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
Comparison of 4 palettes of Xorya with CGA, Tandy and PCjr composite colors:

Image

CGA colors were copied from here:

http://nerdlypleasures.blogspot.com/2013/11/ibm-pc-color-composite-graphics.html

P.S. Color order similar to palette #0 (orignial Xorya palette) could be simulated by DOSBox in CGA mode when color phase is shifted to +60 degees (12 times Alt-F11).

_________________
:eugeek: https://twitter.com/Shaos1973


01 May 2015 19:21
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
Mandelbrot Set with long doubles:

https://hackaday.io/project/5507-xorya-extremely-low-cost-game-console-on-pic32/log/17365-mandelbrot-set-on-xorya

_________________
:eugeek: https://twitter.com/Shaos1973


04 May 2015 08:15
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
More mentions of XORYA ;)

Attachment:
File comment: Microchip twitter
microchip2.png
microchip2.png [ 309.45 KiB | Viewed 4804 times ]


P.S. https://www.facebook.com/microchiptechn ... 5557236742

_________________
:eugeek: https://twitter.com/Shaos1973


04 May 2015 14:55
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote


Now it's 64-bit fixed point:


_________________
:eugeek: https://twitter.com/Shaos1973


06 May 2015 18:22
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
And now 32-bit fixed point:


_________________
:eugeek: https://twitter.com/Shaos1973


13 May 2015 01:32
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
XORYA was noted by 2015 Hackaday Prize team ;)

http://hackaday.com/2015/05/12/hackaday-prize-entry-a-pic32-game-console/

Quote:
I wasn’t ready to see a Mandelbrot processed in real time like that but, damn that was pretty good. That’s a hell of an implementation.

_________________
:eugeek: https://twitter.com/Shaos1973


13 May 2015 09:39
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
More links to XORYA:

http://embedded-lab.com/blog/?p=10363

http://www.thebackshed.com/forum/forum_posts.asp?TID=7658&PN=1

http://gamehacking.org/vb/threads/12380-XORYA-extremely-low-cost-game-console-on-PIC32

_________________
:eugeek: https://twitter.com/Shaos1973


13 May 2015 22:36
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
I just won Teensy LC board as part of this week's Hackaday Prize giveaway :roll:

_________________
:eugeek: https://twitter.com/Shaos1973


14 May 2015 22:19
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
1st Mandelbrot Set video was watched 1151 times (and heaviest traffic was on 5/13 - almost thousand views in 1 day)
2nd Mandelbrot Set video (fast one) was watched 667 times and number is growing...

_________________
:eugeek: https://twitter.com/Shaos1973


15 May 2015 09:37
Profile WWW
Junior

Joined: 10 Jun 2015 17:53
Posts: 3
Reply with quote
Hello,

xorya is very interest project!! I make onboard computer for my car s pomocí video generatoru KenKen's work (version PIC32MX695F512H resolution 300X225). The problem was the need for more timers for scaning RPM,tacho and injection time.
The result is therefore still nice RPM sensor and a pair of analog signals in kombination of reversing camera,
instead of the original location of the RPM meter.

Xorya engine is also in addition to game console certainly well suited for use in technical applications such as measurement, process control, etc. Needed to display graphs, different menus etc. Very interesting area of application is in combination with composite camera and maybe OSD.

similar programs for PIC32 is not much yet, and if so only in black and white variant.

I would try to use your engine and therefore would like to ask a few questions:

1. how much performance mcu video generator consumes?

2. how much timers video generator needs?

3. It is possible to gif and jpeg load from sd card ?

4. You can use some doblebuffer for smoother images and animations?

5. You plan to add routine for playing wav file ?

6. It would turn your engine used for simple OSD principle PICOOSD ?
(see. http://www.micro-examples.com/public/microex-navig/doc/081-pic-osd-superimposer.html)

7. You could also write a program for MikroC for PIC32 (from MIKROE) compiller or help with his transcript?

Yet the question at the end.
My hobby is technique rather than programming, so I prefer Basic Compilers than c Compilers.
Unfortunately, so far not a single basic compiler does not have a proper library for generating color composit signal.
You would not have to change it with the help of your engine and create a library for a basic compiler that supports the PIC32 (eg. Microbasic from MIKROE. Http://www.mikroe.com/)
When I started work KenKen's generator, so I founded the forum thread asking whether someone could port this engine, but no one was found.
(see http://www.mikroe.com/forum/viewtopic.php?f=166&t=58415&hilit=kenken).
He would not it you? If so, it would be asking a great work establishing a new wiki page with a description of the library and nutty example !! :rotate:

Thank you


10 Jun 2015 19:19
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
Thanks for your interest! Answers:
1) Author of original PIC32 code (it was black and white 256x200) said 7% but when I added more pixels per line with color burst and switched from 32-bit DMA to 8-bit I didn't notice ANY performance degradation in main loop - so it looks like CPU is completely free to do anything it could do ;)
2) I think it took only Timer2 and all compare units
3) Decoding of GIF and JPEG - almost ready, from SD-card - not yet
4) Yes, but I didn't support it yet in software
5) Yes, I plan to play stereo sound with 15 kHz sample rate throught PWM (almost no CPU will be used for this)
6) I don't know if it's possible to do something like this on PIC32 or not
7) No, I will use original software from Microchip, and may be later - GCC (compiled from sources)
8) I think XORLib is easier to port anywhere, because it's pure C, but KenKen's work is mostly assembler with really CPU intensive video generation code and also if you need basic with color on PIC32 - look into The Colour Maximite

_________________
:eugeek: https://twitter.com/Shaos1973


10 Jun 2015 23:03
Profile WWW
Junior

Joined: 10 Jun 2015 17:53
Posts: 3
Reply with quote
Hello,
Thank you for the quick reply.

If I understand it Xoriat engine does not affect the load mcu?

Xoriat really does not use assembler, and is completely written in C?

Kolik potrebuje xoria paměti sram pro rozlišení 160X200 16 color ?

Is it possible resolution 320x200 16 (or more) color? If so, what is the need for additional hardware?

Xorya therefore uses TIMER2 and all the compare unit (PWM out So you can not work?). Timers 0,1,3,4 are therefore fully available for free?

How can I load a GIF or JPEG file into the flash memory chip and displayed ?

It is possible to change the font or font size ?

Maximite is interpreter and not compiller. is slow and only 8 color (in color version). Is very special and limitation against natur PIC32.
More interesting is necessary Firewing PIC32.It is free and trying to be similar to the Arduino. It's a basic compiller based VB.NET. (see http://www.firewing.info/). Unfortunately, this does not support TV out.

Thank you


11 Jun 2015 04:43
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15362
Location: New York
Reply with quote
I don't know how to measure it, but it looks like it doesn't affect CPU (may be setup of DMA will steal some CPU cycles, but it's unnoticable).

Yes XORLib for XORYA is 100% C-code - see here https://github.com/shaos/xorlib

I run it on largest PIC32 DIP device - PIC32MX170F256B (256KB flash and 64KB data), but I think it could fit into a little smaller one - it needs 18KB for videomemory (640x200 monochrome or 160x200 with 16 colors and color burst).

With a little hardware it could be possible to have CGA-like 320x200 4-color mode, but for 320x200 16-color it will need more external logic and rewritten library (theoretically it's possible on the same PIC32 device, but with different connection and I didn't think about it yet).

About font - you can have any 8x8 font there. If you need to change size of the characters then some parts of the library have to be re-written (actually you can render any font using direct access to videomemory without changing library).

P.S. Library itself is discussed in separate topic: http://www.nedopc.org/forum/viewtopic.php?f=62&t=10949

_________________
:eugeek: https://twitter.com/Shaos1973


11 Jun 2015 09:22
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 14 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.