Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 11:13 30 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Seeking Games Programmers

     Page 2 of 9    
Author Message
Azure

Guru

Joined: 09/11/2017
Location: Australia
Posts: 446
Posted: 01:17am 19 Jan 2018
Copy link to clipboard 
Print this post

If you follow the LCD and Touchpad style of setup you could add a joystick setup function and allow the pins to be defined as needed.

JOYSTICK B1, B2, B3, B4, P1, P2
JOYSTICK2 B1, B2, B3, B4, P1, P2


Allow only as many buttons as needed to be defined so they are not all taken up from games with minimal buttons.

That way the buttons can be set as needed (default would likely come from an example in user manual) and they can be reconfigured easily if other pins need to be used without locking anyone in.

Classic arcade games used switches like:
Each PLayer(1&2) UP, DOWN, LEFT, RIGHT, ACTION!, ACTION2;
Common COIN1, COIN2, START1, START2.

Some games had more action buttons and in this case the coin switches may not be needed, unless someone tried to build a real replica with a coin slot from this new platform.
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 03:13am 19 Jan 2018
Copy link to clipboard 
Print this post

  panky said  How feasible is HDMI in firmware on an MZ?

Not really, the encoding and protocol is very complex and tied up with licensing issues. It could be done with an HDMI interface chip like this but that is also complex and adds a 64-pin chip to the design.
Geoff Graham - http://geoffg.net
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2289
Posted: 03:21am 19 Jan 2018
Copy link to clipboard 
Print this post

i don't want to be a killjoy, but...

at some point one crosses the line where a RPi zero becomes a far simpler and cheaper path to follow. it has onboard HDMI, along with the HDMI connector. while there are the issues peter pointed out earlier: no instant booting and stability, can these not be overcome with a super-stripped-down linux kernel? what if the RPi was run WITHOUT a GUI, with mmbasic hitting the video drivers directly? no networking, minimal daemons running in the background.

ie, rather that starting with a 176-pin MZ processor costing us$20 and building upwards, start with a us$10 module and strip away layers?

i really do love the elegant, single-chip design of the colour MAXImite (and of peter's micromite extreme), but i also love the cheap price of the RPi. and i'm afraid that price is a factor in getting hardware into the hands of users. how much will a maximite using a $20 processor end up costing the end user?


cheers,
rob :-)Edited by robert.rozee 2018-01-20
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 03:31am 19 Jan 2018
Copy link to clipboard 
Print this post

  MicroBlocks said  If functionality for games are to be added or improved i think having two joysticks would be great. It allows for two player games, more complicated control games and beyond games it would be a great way to control robotics,servos,steppermotors etc.

Joystick input would be great, I was also thinking of support for two Nunchuks.

But this is getting away from the original issue of implementing gaming primitives. I am beginning to think that the original sprites would work if they could be made any size, could overlap each other and had better collision detection.

Geoff
Geoff Graham - http://geoffg.net
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 07:33am 19 Jan 2018
Copy link to clipboard 
Print this post

  Geoffg said   I am beginning to think that the original sprites would work if they could be made any size, could overlap each other and had better collision detection.


Yes - those points you stated would allow sprites to be very usable. Do please ensure there is a way (when in a situation of two 'overlapping' sprites) of 'defining' which sprite is in the foreground, and hence which sprite is 'behind'!

Also allow for 'partially off-screen' positioning (not a feature - but more to do with error checking in your code).

WW

For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 10:19am 19 Jan 2018
Copy link to clipboard 
Print this post

Yes, the case where some of the graphics is either partially or fully off the screen is a given. All the graphics in the Micromite allow that.

So far the feature set is:
- any size
- coloured pixels plus transparent pixels
- separate collision mask
- each sprite will have its own "layer"
- a better method of reporting overlap with another sprite or boundary (ie, collision)

I'm hoping that the faster processor and plentiful RAM in the MZ will allow all of this to work at a reasonable speed.
Geoff Graham - http://geoffg.net
 
cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 278
Posted: 12:38pm 19 Jan 2018
Copy link to clipboard 
Print this post

Will the MZ chip gradually "wear out" or will it be like the original Maximite and have the BASIC programmes on sd card?

Dave.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8585
Posted: 01:17pm 19 Jan 2018
Copy link to clipboard 
Print this post

  Quote  Will the MZ chip gradually "wear out"


From the datasheet: >10,000 programming cycles
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 01:18pm 19 Jan 2018
Copy link to clipboard 
Print this post

  cosmic frog said   Will the MZ chip gradually "wear out" or will it be like the original Maximite and have the BASIC programmes on sd card?

That implies a gradual loss of performance which is a totally wrong implication. Perhaps you are implying that the limited endurance of the flash will cause the chip to fail at some point... that is also wrong.

Programs can be saved to the SD card but the executable program will be saved to the MZ's flash memory which has a minimum endurance of 10,000 writes (and probably a lot more). If you work out the maths you will see that even the most enthusiastic programmer will never ever come even close to 10,000 writes in the life of the device.

I have a test Micromite which I use for most development (both BASIC programs and firmware) and over the past few years I estimate that it has has less than 500 writes.
Geoff Graham - http://geoffg.net
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 04:17pm 19 Jan 2018
Copy link to clipboard 
Print this post

A useful graphic feature would be the ability to scroll an area or layer of the screen.
Scroll everything except the sprites. Or scroll the background layer and leave foregorund and sprites in place.
2d games use this a lot.
A blit function could probably do that.


Microblocks. Build with logic.
 
darthmite

Senior Member

Joined: 20/11/2011
Location: France
Posts: 240
Posted: 05:36pm 19 Jan 2018
Copy link to clipboard 
Print this post

  MicroBlocks said   A useful graphic feature would be the ability to scroll an area or layer of the screen.
Scroll everything except the sprites. Or scroll the background layer and leave foregorund and sprites in place.
2d games use this a lot.
A blit function could probably do that.



It exist on mmbasic : https://www.youtube.com/watch?v=5g3-ztufoNM
Is just not yet implemented on PIC32

cheers

Theory is when we know everything but nothing work ...
Practice is when everything work but no one know why ;)
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9064
Posted: 10:32pm 19 Jan 2018
Copy link to clipboard 
Print this post

A very interesting thread.

I have not posted anything to it yet, as games are not really my thing. I am more interested in progaming utilities. Having said that, games are a MAJOR draw-card for newbies to just about ANY platform, and if they can have fun playing some games, that makes them want to try to program some of their own.

@ Panky/Geoff Re. HDMI: If licensing is an issue, I wonder how they manage to get HDMI into the $5 Pi Zero?! Crikey.... Panky: There is always the external VGA-to-HDMI converters for those that absolutely MUST have HDMI, and they are quite affordable. See this link - Ten bucks...

[Quote=robert.rozee]i don't want to be a killjoy, but...

at some point one crosses the line where a RPi zero becomes a far simpler and cheaper path to follow. it has onboard HDMI, along with the HDMI connector. while there are the issues peter pointed out earlier: no instant booting and stability, can these not be overcome with a super-stripped-down linux kernel? what if the RPi was run WITHOUT a GUI, with mmbasic hitting the video drivers directly? no networking, minimal daemons running in the background.

ie, rather that starting with a 176-pin MZ processor costing us$20 and building upwards, start with a us$10 module and strip away layers?

i really do love the elegant, single-chip design of the colour MAXImite (and of peter's micromite extreme), but i also love the cheap price of the RPi. and i'm afraid that price is a factor in getting hardware into the hands of users. how much will a maximite using a $20 processor end up costing the end user?[/Quote]

My thoughts EXACTLY. Certainly not trying to rain on any new MM development either.
But I would like to ask Geoff if the Pi Zero has been considered at all for the latest version? Geoff can do what he wants - it's his puppy, but I would be interested in hearing his comments and thoughts on a Pi-based MM unit.
Smoke makes things work. When the smoke gets out, it stops!
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 12:01am 20 Jan 2018
Copy link to clipboard 
Print this post

The Maximite was a huge success with many thousands built and I believe that its success was due to a number of factors:
- You could easily build it yourself and have the satisfaction of saying "look what I built". The pre soldered chip in the Altronics kit made a huge difference there.
- It was simple to understand, simple to program and best of all... it just worked. You applied power and there was the prompt where you could type something in and get a sensible result.
- Another important factor was nostalgia. It appealed to anyone who had cut their teeth on a TRS-80, C64, Apple II, etc. They instantly appreciated what the Maximite could do.

Running MMBasic on the bare silicon of the RPi would be wonderful BUT, from what I know of the RPi, the documentation for the processor is not available in the public domain. It seems to be some commercial in confidence thing. This means that you must run Linux, you must wait for it to boot, you must live with its vagarities, etc. Peter has done a great job of getting MMBasic to run in this environment but that is as far as it goes.

Geoff
Geoff Graham - http://geoffg.net
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9064
Posted: 01:49am 20 Jan 2018
Copy link to clipboard 
Print this post

Good points, well made. I'm convinced.

EDIT: So is the PIC32MZ2064DAG176 with 640k the chip you are going for?

EDIT: I expect that whatever the final design, it will incorporate the 1455 interface for USB-serial and easy firmware upgrading via USB?Edited by Grogster 2018-01-21
Smoke makes things work. When the smoke gets out, it stops!
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2289
Posted: 02:19am 20 Jan 2018
Copy link to clipboard 
Print this post

  Geoffg said  easily build it yourself and have the satisfaction of saying "look what I built". [...] Another important factor was nostalgia. It appealed to anyone who had cut their teeth on a TRS-80, C64, Apple II, etc. They instantly appreciated what the Maximite could do.


agreed, very good points - alas, anything using a RPi really doesn't have that 'building it yourself' aspect, it is all pretty much just plug-and-play. it is a great pity the MZ chips don't have any socket-able variants (where the socket doesn't cost an arm and a leg!), as that would mean a completely unsoldered kit could be assembled by anyone.

i've talked to a linux guru, and while RPi linux could be stripped down to the bare bones with just a few seconds of boot time, it would be no easy task. hitting the hardware directly without using the Pi's proprietary 'binary blob' would be an even more complex task.


geoff: what do you think of retaining the arduino shield sockets? with discussion of nunchuks and joysticks, a 'tophat' card could be created quite separately that plugged into where the shield goes to provided the sockets and any necessary electronics for both.

moving such functions to an arduino shield means that:
1. for those who don't want joysticks, etc, they don't have to pay for the extra sockets or increased PCB footprint,
2. a shieled 'tophat' could be created that brings out a second 26-pin general purpose I/O connector instead, or proivides other functions (GP-IB for example),
3. these 'tophats' could possibly even be compatible with the original CMM.
4. the PCB footprint could be kept within the 100x100mm maximum for really cheap PCB fabrication in china.

btw: would the 5v regulator be dropped in favour of a 5v-only supply input, or replaced with a switchmode module? these switchmode modules (from china) seem to have fairly standard footprints. similarly, the SD card socket could be replaced with a module sourced from china for a cost probably less than the cost of the socket alone.


just ideas of course,

cheers,
rob :-)
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 02:45am 20 Jan 2018
Copy link to clipboard 
Print this post

The arduino shield design is just horrible. It adds considerable size to a pcb.
And for what, to use some existing arduino shields?
Maybe better go with the clickboard interface. A much more elegant design, for the more civilized days.:)
Or the pinout of the Pi. Matherp already did a layout for that to use 'Hats'.
A design from the 'dark side', but pretty powerful.


Yeah, I am a Star Wars nerd.:)

Any module source from 'China' can disappear any day. If the design has to withstand some time never ever incorporate anything like that.
I found the only exception to the disappearing modules effect is Mikro Electronic. Hence the suggestio to start using the click layout as it also has been already used for the micromite.
Edited by MicroBlocks 2018-01-21
Microblocks. Build with logic.
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2289
Posted: 03:52am 20 Jan 2018
Copy link to clipboard 
Print this post

  MicroBlocks said   The arduino shield design is just horrible. It adds considerable size to a pcb. And for what, to use some existing arduino shields?


in both the colour maximite and CGmaximite the arduino shield sockets take up very little space, the shield sitting over the PIC32 processor.

i'm not necessarily advocating the use of existing arduino shields, but rather making use of the footprint (or some variation thereof). if geoff decided to fix up the off-grid placement of one of the sockets, for instance, that would be fine. really it is just the matter of bringing out 20 (or thereabouts) I/O lines and power to a convenient place where an add-on PCB can be situated. having the pins spread across two rows a couple of inches apart removes the need for mounting nuts and bolts.


cheers,
rob :-)
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 07:51am 20 Jan 2018
Copy link to clipboard 
Print this post

Remember that the aim is to make a BASIC computer like the Maximite, TRS-80, C64, etc... not something that is good as an embedded controller (PeterM has many boards that do that).
Geoff Graham - http://geoffg.net
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 07:58am 20 Jan 2018
Copy link to clipboard 
Print this post

. . . and for people worried about the cost of NunChuck connectors - it is ZERO. Just need to allow space on PCB, and shape it correctly, and have four tracks running to it. No I/Os taken as they are I2C devices

Not to mention - this is a Games Machine concept - so NunChuck capability is a 'no brainer'.

Anyone wanting to use the 'Games Machine' for 'embedded stuff' / Arduino Shields, can simply make a 'daughter board' that plugs into the GPIO connector. OR they could off-course use one of the many MicroMite modules that have been created

WW
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2794
Posted: 08:00am 20 Jan 2018
Copy link to clipboard 
Print this post

@Geoff,

Which PIC are you 'favouring' at the moment? A MZ144, or the DA176?

Just curious . . . .
For everything Micromite visit micromite.org

Direct Email: whitewizzard@micromite.o
 
     Page 2 of 9    
Print this page
© JAQ Software 2024