Jump to content
IGNORED

KitBox expansion...


MrPix

Recommended Posts

So, time for a fresh thread on the KitBox, which is my expansion for the CV and Adam. It has SGM compatibility, and as a basic extra feature adds a headphone socket, volume knob and mixer knob. I'm looking to add a bit more functionality to it, and this thread is explicitly to ask for people's ideas of what else to add.

Current ideas of features to add include:

 

  • gamepad ports for Genesis/Atari/Amiga controllers
  • a pause button
  • possible audio out with mixer/volume control
  • tone/EQ
  • possibly serial/wifi for soft-loading games from the internet
  • possibly SD slot for soft loading/saving games from/to SD


There will also be an Adam-only version, the BigKitBox, which will add features the Adam can use:

 

  • all the features of the KitBox, plus expansion space to add
  • expandable paged memory in 2MB increments - up to 12MB
  • a 2MB bitmap video card, VGA output (see below)
  • serial port
  • parallel port
  • IDE port (with CF and SD support)
  • PS/2 (or maybe USB) mouse port
  • WiFi
  • MIDI
  • speech

 

The Adam BigKitBox might also add support for and include a ROM with CP/M 3, and a faster Z80A CPU for programmers. The BigKitBox was originally designed as an "MIB4 card" but unfortunately the combination of features I had in mind would not fit within any one Adam expansion slot. 

Both of these expansions will be based off the same base PCB, so in the future all the Adam options could be added to the CV if there were software support written by third parties. 


The video card is one of my most exciting additions. It is a bitmap video card that can support any arbitrary resolution from 160x120 up to 1024x1024, in 1, 2, 4, 8 and 16 bits per pixel, up to a limit of a 50MHz pixel clock. It is a bitmap video card, so screen contents are not produced in the same way as with a VDP but are a literal version of the bitmaps placed there. The card also has powerful palette capabilities supporting hi color screen modes, eg: 256 from 4,096 colors, 16 colors, or plain monochrome (which is very, VERY fast). It also includes hardware pointer support (so you can create multiple pointers of four colors (one is mask) selected from a private palette, and move them simply with instructions that in pseudo code are "place pointer at X,Y" - again, super quick and makes handling pixel data much easier. Finally, it has a FIFO so while it is a memory mapped device, the CPU is never kept waiting and can buffer writes or read requests to the video device. My intention is to include a CP/M port with drivers configured to use the display. The display can display 80x25 characters with ease, and can support today's wide screen monitors.
 

The spirit of this thread is very much "moving forward." I'm looking for solid ideas of features to implement in a first generation new expansion - especially for the CV, with the notion that a second generation expansion with more improvements would arrive within a year. I have heard the very strong feedback of the other thread and it has not gone unheard. While I will retain SGM-compatibility the device will be a quite divergent product and the foundation of something much bigger. I appreciate some people may still want to take issue with what I'm working on. Please do so in PMs or a different thread as this thread isn't intended for that, but to be a positive and constructive CV and Adam hardware development thread.

Everyone's time and patience is much appreciated.

KitBox and BigKitBox are trademarks of 68K Computer LLC.

Link to comment
Share on other sites

13 minutes ago, Tursi said:

USB Serial UART on port 00 for printf debug support. Software could receive from it for input too. ;)

The UART I chose has two ports. One is dedicated to the ESP32-D2WD processor (the chip off the ESP-32 wifi modules, but I'm using just the chip) and it has a variety of UARTs, and SPI/I2C support too. It would be quite easy to have that act as a large FIFO and implement what you ask. Are you more an FT232 or CH360 kinda guy?

13 minutes ago, Tursi said:

RGB LED on another port just for fun. ;)

I hadn't thought about this, but a couple of neopixels might be fun? Would this be for the CV, Adam or both? It is on my blue sky list (BSL) to have Arduino capability on the Adam version.

As an expansion on the Adam it can support 16 slices. There are four pins dedicated to slice position, so each expansion can be placed at any address on the expansion bus and this can be mapped to arbitrary locations in the memory map. I'm still noodling that out, because I might have a 16-bit Z80 in there with a flat memory map (boot time selectable).

 

13 minutes ago, Serguei2 said:

How about a stand alone system for people without colecovision?


I think the CollectorVision Phoenix handles that role quite well. If they truly are doing this last run and that's it, I might seek to license the core for use in a miniature (Pi sized) console in the future - but we'll have to see how things shake out first. I really like the idea of a CV that fits in your pocket.

Link to comment
Share on other sites

3 minutes ago, Serguei2 said:

I prefer to have a CV with decent size screen.

 

I will pass if the screen is too small.

It would plug into a regular screen if I did that. However, this is dependent on CollectorVision being willing to license or open source their core. That's quite a long way down the road from here.

Link to comment
Share on other sites

8 minutes ago, mr_me said:

Will button mapping of a genesis six button controller be fixed or user programmable.

I haven't thought that far ahead yet. I'm not sure how the 6 buttons on mine relate to the Fire1/Fire 2 signals yet ;)

That said, it is a good thought that the buttons should be configurable easily to any keypad number desired. 

Edited by MrPix
Hit post too soon!
Link to comment
Share on other sites

7 minutes ago, MrPix said:

That said, it is a good thought that the buttons should be configurable easily to any keypad number desired. 

Perhaps some dip switches on the unit, for configuration settings? Or maybe just a knob of some kind, to put the unit in the desired mode.

 

Also, how about a barcode reader?  :P 

 

Edited by Pixelboy
Link to comment
Share on other sites

6 minutes ago, Pixelboy said:

Perhaps some dip switches on the unit, for configuration settings? Or maybe just a knob of some kind, to put the unit in the desired mode.

I was thinking more along the lines of it running a small webserver, and people could use the web browser on their phone/tablet to configure/update it? A lighter option might be a small OLED display and up/down/select, or a rotary/bush knob? I like dip switches just fine, but users have this terrible habit of throwing away the instructions ;)

6 minutes ago, Pixelboy said:

Also, how about a barcode reader?  :P 

No room because of the pizza oven :P 

Link to comment
Share on other sites

2 hours ago, MrPix said:

The UART I chose has two ports. One is dedicated to the ESP32-D2WD processor (the chip off the ESP-32 wifi modules, but I'm using just the chip) and it has a variety of UARTs, and SPI/I2C support too. It would be quite easy to have that act as a large FIFO and implement what you ask. Are you more an FT232 or CH360 kinda guy?

I hadn't thought about this, but a couple of neopixels might be fun? Would this be for the CV, Adam or both? It is on my blue sky list (BSL) to have Arduino capability on the Adam version.

My old design called for a FT2232, but that was just the first one I found and it was easy to attach. (I got some test samples but never got around to wiring them though... ;) )

 

The LED was just based on the assumption you'd want a power LED on there anyway, since it's a popular mod, so why not have fun with it? I'm only CV myself, though, haven't touched an Adam since they were still available in K-Mart. ;)

 

Link to comment
Share on other sites

2 hours ago, MrPix said:

I'm not sure how the 6 buttons on mine relate to the Fire1/Fire 2 signals yet ;)

The remapping that Ruggers Customs uses supports a lot of (most?) use cases.  It might not be a bad default with options beyond that for the games that don't fit as closely.  That (still being produced) model has 8 buttons including Start and the shoulder button.

Link to comment
Share on other sites

I'll provisionally spec that, then, as I have a few samples here.

I was thinking of black resist boards with a purple LED in a carbon black shell. The case would have some translucent sections in it that the power LED shines through. I could as easily add an RGB LED or two, but no existing game uses it and I suspect the main game publishers have no real desire to support it. It is moved up to the shortlist, though since you've suggested it.

Good ideas. Keep 'em coming!

Link to comment
Share on other sites

1 minute ago, Falonn said:

The remapping that Ruggers Customs uses supports a lot of (most?) use cases.  It might not be a bad default with options beyond that for the games that don't fit as closely.  That (still being produced) model has 8 buttons including Start and the shoulder button.

If he's ok with me going for compatibility, it would be a good way to do it. I have a wireless one here that is quite nice if just a little bit small for my hands, and I'm just working through the details of porting the thing to fit natively on a CV. I've managed to reduce it to a very simple part that is under a dollar to do the interfacing if it's fixed remapping.

I'll put it on the list and check in with him later.

Link to comment
Share on other sites

3 minutes ago, retroillucid said:

It might be open source, but it doesn't allow someone to use it on their own device 

Can you please unpack that a bit more? What exactly is the license associated with the open sourced components of the Phoenix?

Link to comment
Share on other sites

Just now, retroillucid said:

You're not allowed to use what we've created to use for your own device you're selling.

OK. What is the exact license? Is it posted alongside whatever's up on the Phoenix repository?

 

Yes, rather than seek for myself, I'm bothering you by asking those questions. If the relevant details are there, just point me in that direction. :)

Link to comment
Share on other sites

1 minute ago, mumbai said:

OK. What is the exact license? Is it posted alongside whatever's up on the Phoenix repository?

 

Yes, rather than seek for myself, I'm bothering you by asking those questions. If the relevant details are there, just point me in that direction. :)


I'll post them once the Phoenix webpage will be up on our website
That's also where the latest cores will be posted 

Should be soon enough

  • Like 1
Link to comment
Share on other sites

Like Apple. OS X is open source, but you're only allowed to run it on "Apple branded hardware"... Which is a fair proposition. 

Once CV has finished commercial activity with it, it might be nice to see it either licensed with a true open license or to issue a non-exclusive license to a couple of third parties so they can pick up the ball and run with it.

My ambition would be to do an Altoids tin sized CV with it.

But that's a separate discussion for another time and place. This is a KitBox expansion thread ;)

Link to comment
Share on other sites

22 minutes ago, MrPix said:

Like Apple. OS X is open source, but you're only allowed to run it on "Apple branded hardware"... Which is a fair proposition. 

Once CV has finished commercial activity with it, it might be nice to see it either licensed with a true open license or to issue a non-exclusive license to a couple of third parties so they can pick up the ball and run with it.

Only parts of macOS ("Darwin") are open source. And there's a stated license attached to those bits. The referenced hardware tie-down isn't directly involved in that licensing.

 

I don't mean to derail the thread.

 

Given that (some?) source to the Phoenix cores have been posted to the repository -- unless I misrecall my past glances -- I assumed a predefined license attached to those materials. It seems odd to open a repository without having licensing set in this day and age.

 

Edited by mumbai
Link to comment
Share on other sites

14 minutes ago, mumbai said:

Only parts of macOS ("Darwin") are open source. And there's a stated license attached to those bits. The referenced hardware tie-down isn't directly involved in that licensing.

 

I don't mean to derail the thread.

 

Given that (some?) source to the Phoenix cores have been posted to the repository -- unless I misrecall my past glances -- I assumed a predefined license attached to those materials. It seems odd to open a repository without having licensing set in this day and age.

 

Last derail here (at least from me):

 

The Phoenix is released as a BSD 3-clause license. It is listed in the repository:

image.thumb.png.a7f6ebe71a5596c43a12fd738ec95d29.png

 

The license cannot restrict what hardware the code is run on unless specifically stated in the license and as long as that limitation doesn't violate the license.

  • Thanks 1
Link to comment
Share on other sites

2 minutes ago, Bmack36 said:

The Phoenix is released as a BSD 3-clause license. It is listed in the repository:

 

[snip]

 

The license cannot restrict what hardware the code is run on unless specifically stated in the license and as long as that limitation doesn't violate the license.

Thank you.

Link to comment
Share on other sites

Either way, I would not do it without the full co-operation of the CV team. It's a complex product and there are going to be subtleties critical to the design that won't be obvious from the HDL. Also, the F18A is licensed separately by Matthew. I know he intends to fully open that once the F18A mk II is released, but that's a matter for his schedule. He may only release the mk I at first. I do have a modest head start here because my company is already an HDMI license holder.

Right now, my to do list includes investigating the ideas suggested above while also trying to find an obscure ChildOfCv thread talking about the differences between US and EU expansion ports so I can provide proper EU PAL/SECAM support.

 

Link to comment
Share on other sites

dina 2 in 1 support

 

a dina is a dual colecovision & sega sg1000 machine. i have 1. it had 2 slots 1 for the sg1000 carts and 1 for the colecovision.

 

adding a sg1000 compatiblibilty would be cool. My dina takes a mycard convertor too which is a rom cart like a credit card similar to what they then used in the master system.

 

I'd love to be able to use original sg1000 carts & mycards on the colecovision.

 

just a thought.

 

I mentioned a few ideas before. Here 1 more probably not gonna happen but...

 

often cd tracks could be played on early dos cd rom games that were just controlled by the game when to start & stop them.

so an sd version of this. So we could use full music sound tracks instead of the builtin music ability and reserve that only for sfx.

additionally this could relate to full motion video as an option too.

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...