General question anout the Chameleon setup

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser Please create an account and log in to see all content by default. This is a limitation of the forum software.
Don't Panic. Please wash hands.
  • Hi designer(s) and the rest of the community,

    I have a question about this product (Chameleon v2)...

    A long time ago Jeri Ellsworth was contracted by Tulip to make a portable version of the Commodore 64 (if I'm correct this was a Dutch company who owned the rights of Commodore after there glory days). She (and her team) made a 30 in 1 gaming Joystick based on her C-One design.

    The C-One was packed with electronics, but the most important product on the board was the FPGA chip.

    After tweaking Jeri and her team 'burned' there final concept in an ASIC chip (ROM) that was featured on the DTV PCB

    (https://www.commodore-info.com/foto/computer_c64_dtv2_08.jpg)


    My question is the following:

    I know that the main purpose of the DTV (joystick) was made to play games and the chameleon can do more then that, but is in essence: Is the FPGA chip used in the Chameleon v2 more or less the same as the early editions of the FPGA chip Jeri used?


    I hope to hear from someone, all the best,


    With kind regard,

    Jeroen Wolf, a 44 year old electronics and retro gaming enthusiast from the Netherlands.

  • no, the chameleon core is unrelated to the DTV. the origin of the chameleon core is the fpga-64 core for the C-One, which peter created after jeri couldnt deliver what she promised, and then fleed to create the DTV.

  • As a side note. The FPGA on the Chameleon has about 6 times the logic capacity compared to the FPGA chips used on the original C-One board. So with only a very base system (just the CPU, VIC-II and RAM) the C-One was essentially already full. The extender that came out later resolved some of the constraints, but programming the C-One still was a bit of challenge, due to the need to create 2 or 3 different FPGAs images for each design. And some of the design choices made on the board were hmm, how should I describe them... unfortunate.


    Chameleon project started as just a video card for the C64 (originally called vga64) and then it met a thing called "feature creep" and now it is what it is ;-) A very versatile retro emulation platform in a C64 cartridge.

  • Thx Tobias and Peter for your insights (didn't know that of Jeri ;)).

    Last question, I want to get into FPGA. What chip / developers board do you advise to get me started? I have experience in electronics and basic logic gates, combinational logic, encodings and multiplexers. I'm not (yet) familiar with Verilog HDL or VHDL, but I'm eager to learn. My end goal is to simulate a working C64 via a upscaled HDMI output.


    Grts, Jeroen

  • For a start, it doesnt really matter what board, imho. I'd say the same i would say when ppl ask me what software/tool/programming language they should start with: use whatever the ppl use that you can talk to and ask for help. And don't aim high, FPGA stuff is slow to learn and can be very frustrating too. It will probably take years until you are ready to write a simulation for an entire microcomputer. (I am nowhere near this myself, i can do trivial changes at best - and i am still spending countless hours staring at the vhdl peter wrote =P)

  • Recommending FPGA development boards falls a bit outside the scope of this icomp product support forum. Inside icomp we use Altera/Intel FPGAs (specifically the Cyclone series) exclusively, so I don't have any recent experience with the other vendors.


    If just starting out with HDL, I think selecting the C64 as direct end goal is a bit hmmm... optimistic? Because the machine uses custom chips for most of the tasks (memory mapping, video, audio) it is quite a few levels above logic gates and multiplexers. You need a large amount of logic infrastructure before you even get a READY prompt. And that is just the start, then you get into the debugging and getting the details right (for me a journey of about 14 years and counting)

  • For what it's worth, the Chameleon V1 hardware was my first introduction to FPGAs, and it actually serves quite well as a dev board as long as you don't mind soldering on a JTAG header, and not having very many GPIOs. The V2 hardware is better since you don't have to worry about multiplexing when reading the SD card.


    Since then I've acquired a DE1 (original model) with Cyclone II, DE2 (also original model with 35 thousand logic elements) with Cylone II, a MIST with Cyclone III, a couple of cheap Chinese import boards with Cyclone III, a couple of cheap import boards with Cyclone IV, a couple of BeMIcro Cv boards with Cyclone V (are you spotting a pattern here?), and now a Chameleon V2 with Cyclone 10. The DE2 is currently my go-to board for new projects - even though it's now totally outdated - because it has a nice lot of switches, buttons and GPIOs, plus an RS232 port, which helps a lot with debugging. Some of the newer boards have a hybrid FPGA containing an ARM CPU as well as the programmable logic, which adds greatly to the capabilities, but also adds an extra layer of complexity.


    The insights I've gained from tinkering with these have been as follows:

    • Pay attention not just to the number of logic elements but also the amount of block RAM offered by FPGAs. The logic of the Next186 core would comfortably fit twice in the DE2, but there's not enough block RAM for even a single instance!
    • Pay attention to SDRAM options. As a beginner you probably want 16-bit wide single-data-rate SDRAM because that's what the most accessible and easy-to-understand projects use. (There are also plenty of smaller projects that don't need external RAM at all - such as the Chameleon arcade cores.) 32 megabytes seems to be the most common amount, though the original DE1 and DE2 have only 8 megabytes on board.
    • Pay attention to GPIOs and whether they're directly accessible via hobbyist friendly means. Attempting to interface a home-made PCB or stripboard project to an HSMC socket is going to be frustrating!
    • Pay attention to which series FPGA you choose, and which version of the software you'll need for it. For Altera (now Intel) FPGAs the free version of Quartus only supports a few types, and which ones changes from version to version - I think 13.0.1 was the last version to support Cyclone II FPGAs, while 14.0 dropped support for Cyclone III. I currently have 13.0.1sp1 and 18.1 installed so I can build for DE1/2, Chameleon V1, MIST and also Chameleon V2.
    • Again Altera / Intel specific, but make learning how to use SignalTap an early priority - it's unbelievably useful.


    You might find my blog helpful - I documented some of my tinkerings here: http://retroramblings.net

  • Hello Tobias, Peter and AMR,

    sorry for the delay in my response, thx so much for your answers regarding my questions earlier.

    AMR, also thx for your extensive answer. P.s. I liked your blog a lot :)


    All the best, Jeroen

  • The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.