Extreme Cartridge 2

Started by Adoreware, January 26, 2009, 10:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Adoreware

I have been working on a universal cartridge for the C64. I am now on the second revision and ready to introduce it to you all. I call it Extreme Cartridge 2 or EC2 for short. Basically it is a cart designed around the Cyclone II FPGA starter board. The cart has an EP2C20F484 FPGA, 4M Flash, 512k SRAM, 8M SDRAM, SD card slot, two 40 pin IO's, two 16 pin IO's, two LEDs, and two switches. The IO's are being used for Serial ports, JTAG, active serial port, audio codec, Amiga clock port, IDE port, additional SRAM, and general purpose IO.

The is a lengthy thread at the following URL...
http://jledger.proboards19.com/index.cgi?board=general&action=display&thread=2696

I hope no one minds if I linked to the thread above.

Any comments, suggestions, or emulation requests are welcome.

Thank,
John
www.adoreware.com


SmallCleverDinosaur

Wow! :D

I think that you've spent some serious time with this project :) It really lookes incredible!

The first issue that I think the people in this forum is interested in, will there be support for the C128's native mode?

If so, will you be able to use 32K cartridgefiles like GEOS 128 and BASIC 8? If you will then sign me up for one right away :)

The creators of MMC Replay gave that cartridge a (very) little support for the C128 in that you could stay in C128 mode with the cartridge plugged in. The manual also suggested that you could use C128 mode cartridgefiles with MMC Replay but I never got that to work :(

So I'm really excited about your cartridge :)
Ignorance is a precious thing. Once lost, it can never be regained.

airship

You'll excuse me, but I've seen enough seasons (57 so far) that I've learned to take a 'wait and see' attitude whenever a project like this is announced.

I wish you luck, and hope you can make it real. If it works as advertised, I'd be very interested.

But at my age I can't afford to get all worked up over every new Commodore project. :)
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

saehn

Quote from: airship on January 27, 2009, 03:23 AM
You'll excuse me, but I've seen enough seasons (57 so far) that I've learned to take a 'wait and see' attitude whenever a project like this is announced.

I wish you luck, and hope you can make it real. If it works as advertised, I'd be very interested.

But at my age I can't afford to get all worked up over every new Commodore project. :)

Come on airship, don't be a grumpy old curmudgeon. :-D Let us young whippersnappers offer kind words of encouragement. It might even help the project to complete to fruition. This guy isn't coming across as some kind of fly-by-night jolly cruise, he's put some serious work into it. :-)

Adoreware

Quote from: saehn on January 27, 2009, 05:48 AM
Quote from: airship on January 27, 2009, 03:23 AM
You'll excuse me, but I've seen enough seasons (57 so far) that I've learned to take a 'wait and see' attitude whenever a project like this is announced.

I wish you luck, and hope you can make it real. If it works as advertised, I'd be very interested.

But at my age I can't afford to get all worked up over every new Commodore project. :)

Come on airship, don't be a grumpy old curmudgeon. :-D Let us young whippersnappers offer kind words of encouragement. It might even help the project to complete to fruition. This guy isn't coming across as some kind of fly-by-night jolly cruise, he's put some serious work into it. :-)

Let me start by agreeing with Airship.  I have purchased just about every modern cart made for the commodore, and none of them seem to do all of what I want.  This is one of the reasons I'm creating the EC2.  The prototype is already functional and runs about 230 game carts and a half dozen utility carts.  I plan to support 128 mode, but I only have one cart (Warp Speed) and it DOES work on the 128.  My primary focus in on the C64, but if I receive enough ROMs and schematic data, I will fully implement a  128 mode.  The plus is that the EC2 will emulate analog cards like video capture cards and MP3 players via a daughter board.  I am spending a huge amount of time on this project, and hope to get it completed soon.  Please send cart requests, I am running out!!!

SmallCleverDinosaur

Quote from: airship on January 27, 2009, 03:23 AM
You'll excuse me, but I've seen enough seasons (57 so far) that I've learned to take a 'wait and see' attitude whenever a project like this is announced.

I wish you luck, and hope you can make it real. If it works as advertised, I'd be very interested.

But at my age I can't afford to get all worked up over every new Commodore project. :)
Then I'm glad I've only seen 38 seasons so that I can still allow myself to get worked up by a new Commodore project ;)

Quote from: Adoreware on January 27, 2009, 06:44 AMI plan to support 128 mode, but I only have one cart (Warp Speed) and it DOES work on the 128.  My primary focus in on the C64, but if I receive enough ROMs and schematic data, I will fully implement a  128 mode.  The plus is that the EC2 will emulate analog cards like video capture cards and MP3 players via a daughter board.  I am spending a huge amount of time on this project, and hope to get it completed soon.  Please send cart requests, I am running out!!!
Does anyone know if the ROMS meant for the internal socket of the C128 would also work externally? They would then be mapped into a different bank, but maybe they are smart enough to realize that? A few of them were designed to work either internally or externally in the spare socket of a REU so they should work with the EC2.

Let's list the obvious ones (they are all 32KB roms)

GEOS 128
BASIC 8
KeyDOS
The Servant

There are also these three (does anyone have any of these as a ROM file?):
Turbo Assembler 128
File Browser 6
Super 81 Utilities

Have you got these John?
Ignorance is a precious thing. Once lost, it can never be regained.

RobertB

Quote from: Adoreware on January 27, 2009, 06:44 AMI plan to support 128 mode, but I only have one cart (Warp Speed) and it DOES work on the 128.
Ack!  I keep forgetting to dig out that Mach 128 cart for you.  I must look!
Quote from: Adoreware on January 27, 2009, 06:44 AMThe plus is that the EC2 will emulate analog cards like video capture cards and MP3 players via a daughter board.
You mean C= video digitizers, like VideoByte II?
Quote from: Adoreware on January 27, 2009, 06:44 AMPlease send cart requests, I am running out!!!
Do you have Partner 128?

              Truly,
              Robert Bernardo
              Fresno Commodore User Group
              http://videocam.net.au/fcug
              Catch the Fatman and Circuit Girl at
              http://vimeo.com/jeri

Adoreware

Quote from: SmallCleverDinosaur on January 27, 2009, 07:31 AM
Quote from: airship on January 27, 2009, 03:23 AM
You'll excuse me, but I've seen enough seasons (57 so far) that I've learned to take a 'wait and see' attitude whenever a project like this is announced.

I wish you luck, and hope you can make it real. If it works as advertised, I'd be very interested.

But at my age I can't afford to get all worked up over every new Commodore project. :)
Then I'm glad I've only seen 38 seasons so that I can still allow myself to get worked up by a new Commodore project ;)

Quote from: Adoreware on January 27, 2009, 06:44 AMI plan to support 128 mode, but I only have one cart (Warp Speed) and it DOES work on the 128.  My primary focus in on the C64, but if I receive enough ROMs and schematic data, I will fully implement a  128 mode.  The plus is that the EC2 will emulate analog cards like video capture cards and MP3 players via a daughter board.  I am spending a huge amount of time on this project, and hope to get it completed soon.  Please send cart requests, I am running out!!!
Does anyone know if the ROMS meant for the internal socket of the C128 would also work externally? They would then be mapped into a different bank, but maybe they are smart enough to realize that? A few of them were designed to work either internally or externally in the spare socket of a REU so they should work with the EC2.

Let's list the obvious ones (they are all 32KB roms)

GEOS 128
BASIC 8
KeyDOS
The Servant

There are also these three (does anyone have any of these as a ROM file?):
Turbo Assembler 128
File Browser 6
Super 81 Utilities

Have you got these John?

The only 128 ROM I have is Warp Speed.

Adoreware

#8
Quote from: RobertB on January 27, 2009, 08:23 AM
Quote from: Adoreware on January 27, 2009, 06:44 AMI plan to support 128 mode, but I only have one cart (Warp Speed) and it DOES work on the 128.
Ack!  I keep forgetting to dig out that Mach 128 cart for you.  I must look!
Quote from: Adoreware on January 27, 2009, 06:44 AMThe plus is that the EC2 will emulate analog cards like video capture cards and MP3 players via a daughter board.
You mean C= video digitizers, like VideoByte II?
Quote from: Adoreware on January 27, 2009, 06:44 AMPlease send cart requests, I am running out!!!
Do you have Partner 128?

              Truly,
              Robert Bernardo
              Fresno Commodore User Group
              http://videocam.net.au/fcug
              Catch the Fatman and Circuit Girl at
              http://vimeo.com/jeri

The Video Byte II is exactly what I'm talking about.  I own one of these carts and it will be the first video capture cartridge supported.  The cart has logic and passive components and no ROM.  Once I get the schematic reverse engineered, it will be no problem for the EC2.  Note: This cart is not on the top of the list, but will be worked in once I get the more popular carts working.

RobertB

Quote from: Adoreware on January 27, 2009, 11:13 AMThe Video Byte II is exactly what I'm talking about.  I own one of these carts and it will be the first video capture cartridge supported.
Ah, I was going to send you one of my extra ones.  :)  Like other video digitizers, VB II works through the user port.  Will be an easy task to make it work through the expansion port?

               Truly,
               Robert Bernardo
               Fresno Commodore User Group
               http://videocam.net.au/fcug
               Catch the Fatman and Circuit Girl at
               http://vimeo.com/jeri

SmallCleverDinosaur

Quote from: Adoreware on January 27, 2009, 11:06 AM
The only 128 ROM I have is Warp Speed.
Click on the name to download the following:

GEOS 128
Basic 8
KeyDos
The Servant

Will you be able to emulate more complex cartridges like the ones I described to Robert here and here?

BTW, does anyone have the Super Snapshot cartridge? Robert? ;)
Ignorance is a precious thing. Once lost, it can never be regained.

Adoreware

Quote from: RobertB on January 27, 2009, 01:11 PM
Quote from: Adoreware on January 27, 2009, 11:13 AMThe Video Byte II is exactly what I'm talking about.  I own one of these carts and it will be the first video capture cartridge supported.
Ah, I was going to send you one of my extra ones.  :)  Like other video digitizers, VB II works through the user port.  Will be an easy task to make it work through the expansion port?

               Truly,
               Robert Bernardo
               Fresno Commodore User Group
               http://videocam.net.au/fcug
               Catch the Fatman and Circuit Girl at
               http://vimeo.com/jeri

The expansion port dose not have PB0-PB7, CIA1 & CIA2 SP, PC, or FLAG lines.  In order to support User Port hardware, a cable will be installed between the user port and the EC2's two 8 bit IO ports on the left.  There will be no need to patch the software.

Adoreware

#12
Quote from: SmallCleverDinosaur on January 27, 2009, 06:22 PM
Quote from: Adoreware on January 27, 2009, 11:06 AM
The only 128 ROM I have is Warp Speed.
Click on the name to download the following:

GEOS 128
Basic 8
KeyDos
The Servant

Will you be able to emulate more complex cartridges like the ones I described to Robert here and here?

BTW, does anyone have the Super Snapshot cartridge? Robert? ;)

Thanks for the ROM images.  Now I just need a schematic or photocopy of the PC Boards.

I have one IEEE interface for the user port that I have already reverse engineered and plan to include.  If I get this working, other IEEE cards should be about the same.  Right now C64 hardware in my priority with some 128 support.  If I get enough feedback, I may work on a version just for the 128.  I have very little hardware documentation on the 128 and would need several months to understand how the expansion ports operate in 128 mode.  I do have a working 128 that I test the EC2 on, but in 64 mode mostly.

I have SS V5, but have not even began to reverse engineer it.  It is packed with a LOT of logic including a PAL16 that i need the code for.  It also has RAM.  I believe this cart will be a challenge because of the flip flops!!!  VHDL just does not simulate flip flops very well.  Same problem I'm having with AR5, FCIII, and Warp Speed.  The Nice thing is that FCI used basic logic gates as flip flops, and I going to try to do the same to get the mentioned carts working.  Right now, I'm spending most of my time on the software.  Soon I'll be back on the hardware once I get the Flash program routines working.

SmallCleverDinosaur

Quote from: Adoreware on January 27, 2009, 09:30 PM
Thanks for the ROM images.  Now I just need a schematic or photocopy of the PC Boards.
As you may know the C128 has a spare socket on the motherboard and I think that all these ROM images were designed to be plugged into that socket. So ROMs for the C128 can either be internally mounted or be externally mounted on a cartridge. And they can be up to 32KB without additional bankswitching circuitry.

The lower 16K is mapped to $8000-$BFFF and the higher 16K to $C000-$FFFF. That means a 32KB cartridge for the C128 is rather simple. When the lower 16K is addressed ROML goes low, and when the higher 16K is addressed ROMH goes low. So if you would create a classic cartridge you would use one 32KB eprom with 14 addresslines connected from the expansionport directly to the eprom. The 15'th addressline of the eprom would be connected to ROML so that when the lower 16K is addressed ROML is low so the lower 16K of the eprom is used and when the upper 16K is addressed ROML is high so the upper 16K of the eprom is used. Then you have to have a gate (preferably an XNOR gate) to be able to connect both ROML and ROMH to the OE pin of the eprom. Simple huh? :)

I've actually never seen a 32KB cartridge for the C128 except for the REU's. They include a spare ROM socket as well and some of the 32K ROM's could be used there. Have you reversed engineered the REU's?

Quote from: Adoreware on January 27, 2009, 09:30 PM
I have very little hardware documentation on the 128 and would need several months to understand how the expansion ports operate in 128 mode.
If you don't have the Mapping the C128 that is good place to start :)

Quote from: Adoreware on January 27, 2009, 09:30 PM
I believe this cart will be a challenge because of the flip flops!!!  VHDL just does not simulate flip flops very well. 
I read in the PETSCII forum that you have emulated the large Ocean cartridges like Terminator II. How did you solve that with VHDL, those cartridges includes flip-flops?
Ignorance is a precious thing. Once lost, it can never be regained.

Adoreware

#14
Quote from: SmallCleverDinosaur on January 28, 2009, 12:02 AM
Quote from: Adoreware on January 27, 2009, 09:30 PM
Thanks for the ROM images.  Now I just need a schematic or photocopy of the PC Boards.
As you may know the C128 has a spare socket on the motherboard and I think that all these ROM images were designed to be plugged into that socket. So ROMs for the C128 can either be internally mounted or be externally mounted on a cartridge. And they can be up to 32KB without additional bankswitching circuitry.

The lower 16K is mapped to $8000-$BFFF and the higher 16K to $C000-$FFFF. That means a 32KB cartridge for the C128 is rather simple. When the lower 16K is addressed ROML goes low, and when the higher 16K is addressed ROMH goes low. So if you would create a classic cartridge you would use one 32KB eprom with 14 addresslines connected from the expansionport directly to the eprom. The 15'th addressline of the eprom would be connected to ROML so that when the lower 16K is addressed ROML is low so the lower 16K of the eprom is used and when the upper 16K is addressed ROML is high so the upper 16K of the eprom is used. Then you have to have a gate (preferably an XNOR gate) to be able to connect both ROML and ROMH to the OE pin of the eprom. Simple huh? :)

I've actually never seen a 32KB cartridge for the C128 except for the REU's. They include a spare ROM socket as well and some of the 32K ROM's could be used there. Have you reversed engineered the REU's?

Quote from: Adoreware on January 27, 2009, 09:30 PM
I have very little hardware documentation on the 128 and would need several months to understand how the expansion ports operate in 128 mode.
If you don't have the Mapping the C128 that is good place to start :)

Quote from: Adoreware on January 27, 2009, 09:30 PM
I believe this cart will be a challenge because of the flip flops!!!  VHDL just does not simulate flip flops very well. 
I read in the PETSCII forum that you have emulated the large Ocean cartridges like Terminator II. How did you solve that with VHDL, those cartridges includes flip-flops?

Wow, thanks for the 101 on C128's bank switching.  It sounds easier then the C64, I will investigate.  Bank switching for Ocean carts is pretty simple.  Just watch $DE00 registers...

VHDL Code snippet from the EC2 FPGA Firmware for Ocean cart ...
ROM_OE <= CP_ROMLO;
ROM_BANK_OUT   <= ROM_BANK_IN + DE00_Register(6 downto 0);

SmallCleverDinosaur

Quote from: Adoreware on January 28, 2009, 01:11 AM
Wow, thanks for the 101 on C128's bank switching.  It sounds easier then the C64, I will investigate.  Bank switching for Ocean carts is pretty simple.  Just watch $DE00 registers...
It's much easier since the bankswitching in the C128 is done by software. The external or internal extra ROM's can coexist with the system ROM's and RAM of the C128, just use the MMU to switch the desired part of memory in and out of the memorybank :)

As you know, in the C64 the cartridge ROM's replaces RAM or system ROM and there is no way to change that by software (unless you have external bankswitching circuitry). So the C128 has a much better way of handling cartridges :)
Ignorance is a precious thing. Once lost, it can never be regained.

RobertB

Quote from: SmallCleverDinosaur on January 27, 2009, 06:22 PMBTW, does anyone have the Super Snapshot cartridge? Robert? ;)
Sure!  Which version do you need v2, v3, v4, or v5?  :)
     John, did you implement an ISEPIC cart in EC2?

                 Can't remember,
                 Robert Bernardo
                 Fresno Commodore User Group
                 http://videocam.net.au/fcug
                 Catch the Fatman and Circuit Girl at
                 http://vimeo.com/jeri

SmallCleverDinosaur

In this case I was just curious of that cartridge. I've searched for it on the internet but haven't found much info. Do you know a site where info about it can be found? Or do you have the manual and pictures of the cartridge perhaps? :)

I know you're not a fan of VICE ;) But maybe you have the following C128 function ROM's or know where they can be found?

Turbo Assembler 128
File Browser 6
Super 81 Utilities

I'd like to pass them on to John.
Ignorance is a precious thing. Once lost, it can never be regained.

RobertB

Quote from: SmallCleverDinosaur on January 28, 2009, 08:24 PMIn this case I was just curious of that cartridge.
Of which cart are you speaking -- Super Snapshot or ISEPIC?
Quote from: SmallCleverDinosaur on January 28, 2009, 08:24 PMBut maybe you have the following C128 function ROM's or know where they can be found?

Turbo Assembler 128
File Browser 6
Super 81 Utilities
No, I have never searched for the ROMs of those, though I do have Super 81 Utilities on disk.

                   Truly,
                   Robert Bernardo
                   Fresno Commodore User Group
                   http://videocam.net.au/fcug
                   Catch the Fatman and Circuit Girl on
                   http://www.vimeo.com/jeri

Adoreware

Quote from: RobertB on January 28, 2009, 07:40 PM
Quote from: SmallCleverDinosaur on January 27, 2009, 06:22 PMBTW, does anyone have the Super Snapshot cartridge? Robert? ;)
Sure!  Which version do you need v2, v3, v4, or v5?  :)
     John, did you implement an ISEPIC cart in EC2?

                 Can't remember,
                 Robert Bernardo
                 Fresno Commodore User Group
                 http://videocam.net.au/fcug
                 Catch the Fatman and Circuit Girl at
                 http://vimeo.com/jeri

I do own an ISEPIC and will be working this into the EC2.  Any help reverse engineering the schematics and/or ROM images helps speed up things. The following carts are being worked on...

Fast Load (Epyx)
Power Cartridge
ISEPIC
Super Snapshot V5
Warp Speed
Mach-5 V.2B
Super 1750 Clone (CLD)
The Final Cartridge I
The Final Cartridge III
Better Working Turbo Load And Save
Explode! V3
Super Explode! V5
Action Replay V5
MMC Replay
MMC64
MM2IEC
Video Byte II

This is just the first phase of utility carts because I own all of these.  I have a lot of other ROM images and schematics that I will work with later.  Having the actual cart is much better.

SmallCleverDinosaur

Quote from: RobertB on January 29, 2009, 03:04 AM
Quote from: SmallCleverDinosaur on January 28, 2009, 08:24 PMIn this case I was just curious of that cartridge.
Of which cart are you speaking -- Super Snapshot or ISEPIC?
I was speaking of the Super Snapshot cartridge.
Ignorance is a precious thing. Once lost, it can never be regained.

RobertB

Quote from: SmallCleverDinosaur on January 29, 2009, 04:32 AMI was speaking of the Super Snapshot cartridge.
Time to dig out the SS cart and manual!  :)  At the Feb. 8 FCUG meeting, I can have the cart's board photographed.

                Truly,
                Robert Bernardo
                Fresno Commodore User Group
                http://videocam.net.au/fcug
                Catch the Fatman and Circuit Girl at
                http://vimeo.com/jeri

RobertB

Quote from: Adoreware on January 29, 2009, 03:44 AMMM2IEC
Now what did I do with that SD2IEC board I was showing everyone during my European travels last year?  :)

                  Truly,
                  Robert Bernardo
                  Fresno Commodore User Group
                  http://videocam.net.au/fcug
                  Catch the Fatman and Circuit Girl at
                  http://vimeo.com/jeri

SmallCleverDinosaur

Quote from: RobertB on January 29, 2009, 06:29 PM
     Time to dig out the SS cart and manual!  :)  At the Feb. 8 FCUG meeting, I can have the cart's board photographed.
Great! I'd love to see that one :)
Ignorance is a precious thing. Once lost, it can never be regained.

Alex

If you make it compatible with Trilogic Expert software I'd be very interested in it. Personally I think that Expert was the best C64 cart for the programmers in 80's. As all the software is available on the net with proper circurity it could be ported to work in 128 mode I suppose.