Author Topic: switchable UltraCIC II for legacy ED64  (Read 97239 times)

0 Members and 1 Guest are viewing this topic.

Offline bidou67

  • Full Member
  • ***
  • Posts: 185
  • Karma: +3/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #150 on: July 09, 2016, 12:54 AM »
i have tested on everdrive 64 v3 and not working ( freeze ) , i have tried with everdrive 64 v2 with same os latest 2.12 and i work fine no freeze with or without modified the save.db.txt , also its a big big bug on everdrive 64v3 , we want absolutely a v3 and that costs more expensive for less working , As krikzz has not corrected it will not work on everdrive 64 v3! also krikzz please fix this on everdrive v3 please ;D

Offline binkers87

  • Jr. Member
  • **
  • Posts: 57
  • Karma: +5/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #151 on: July 11, 2016, 07:39 AM »
So let me get this straight for understanding purposes. I ran the .bat file which generated A .hex and an eep.hex on the ultra cic zip. What is the purpose of the 2nd file?  Can I just program my attiny25 with the ultracic.hex and be good to go? Never used Attiny25 chips before so maybe I'm missing something until I order the chips and try.  Also will this replace a bad cic chip on one of my real n64 games?

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
Re: switchable UltraCIC II for legacy ED64
« Reply #152 on: July 11, 2016, 08:32 AM »
the .eep.hex is the binary for the eeprom part of the microcontroller and the .hex is for the flash part.
you can program this file to the eeprom, but it's working without it, too.

if you want to replace a bad cic of a real game, keep in mind that the ultracic II replaces a 6102/7101, you need to alter the code to let it replace other types of the CIC.

Offline binkers87

  • Jr. Member
  • **
  • Posts: 57
  • Karma: +5/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #153 on: July 11, 2016, 05:24 PM »
Thanks saturn for the clarification. How difficult is altering the code for a 6103 game or 6105?

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
Re: switchable UltraCIC II for legacy ED64
« Reply #154 on: July 11, 2016, 05:59 PM »
pretty easy, you just need to relocate one semicolon. ^^


example 7101 to 7103:

;------------------------------------------------
;Choose CIC_TYPE(pick one):
;------------------------------------------------
;.equ CIC_TYPE=0b0000   ;6102
;.equ CIC_TYPE=0b0001   ;6103
;.equ CIC_TYPE=0b0010   ;6106
;.equ CIC_TYPE=0b0011   ;6101
;.equ CIC_TYPE=0b0100   ;6105
;.equ CIC_TYPE=0b0101   ;6105
;.equ CIC_TYPE=0b0110   ;6105
;.equ CIC_TYPE=0b0111   ;6105
.equ CIC_TYPE=0b1000   ;7101
;.equ CIC_TYPE=0b1001   ;7103
;.equ CIC_TYPE=0b1010   ;7106
;.equ CIC_TYPE=0b1011   ;7102
;.equ CIC_TYPE=0b1100   ;7105
;.equ CIC_TYPE=0b1101   ;7105
;.equ CIC_TYPE=0b1110   ;7105
;.equ CIC_TYPE=0b1111   ;7105
;------------------------------------------------


;------------------------------------------------
;Choose CIC_TYPE(pick one):
;------------------------------------------------
;.equ CIC_TYPE=0b0000   ;6102
;.equ CIC_TYPE=0b0001   ;6103
;.equ CIC_TYPE=0b0010   ;6106
;.equ CIC_TYPE=0b0011   ;6101
;.equ CIC_TYPE=0b0100   ;6105
;.equ CIC_TYPE=0b0101   ;6105
;.equ CIC_TYPE=0b0110   ;6105
;.equ CIC_TYPE=0b0111   ;6105
;.equ CIC_TYPE=0b1000   ;7101
.equ CIC_TYPE=0b1001   ;7103
;.equ CIC_TYPE=0b1010   ;7106
;.equ CIC_TYPE=0b1011   ;7102
;.equ CIC_TYPE=0b1100   ;7105
;.equ CIC_TYPE=0b1101   ;7105
;.equ CIC_TYPE=0b1110   ;7105
;.equ CIC_TYPE=0b1111   ;7105
;------------------------------------------------

Offline binkers87

  • Jr. Member
  • **
  • Posts: 57
  • Karma: +5/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #155 on: September 24, 2016, 12:13 AM »
Saturn do you have the pinout for the ultra cic 2? It seems the image link is broken in the description

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
Re: switchable UltraCIC II for legacy ED64
« Reply #156 on: September 24, 2016, 10:41 AM »
first post is fixed again. ^^

Offline blecky

  • Newbie
  • *
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #157 on: November 15, 2016, 04:14 AM »
Cheers saturnu for the hard work.

I set out to make one of my own with a small SOIC breakout board (note this was originally a 24 pin adapter which is trimmed as I didn't have any others laying about, hence the extra pads at the bottom, but any regular 16 pin adapter will do fine). If you cut the appropriate traces on the board, you can make it without too much mess.

I have it hard wired for PAL:

Top - http://i.imgur.com/T2Ped3Q.jpg

Bottom - http://i.imgur.com/BKUzQQY.jpg

Additionally, if you use this with a low profile IC socket like this one (http://i.imgur.com/3onHrcP.jpg) with the low profile pins on the SOIC adapter as shown in the pics, you can make the IC removable, while still allowing it to fit under the shield. The original CIC IC with a low profile socket doesn't fit with the shield however, as it's just a little too high. But you can remove the shield and it will fit in the case, or trim a hole in the shield with a Dremel.

Edit: One thing I forgot to mention is that I had to trim down one side of the board for it to fit (these pictures were taken before I did that).

Additionally, this is the ATtiny85. I commented out this line:

Code: [Select]
.include "/usr/share/avra/includes/tn45def.inc"
And changed the code to the following (note the position of the semicolon):
Code: [Select]
    ldi scr0, LOW(RAMEND)   ;STACK!  Make sure SPH is not needed for the part
;   ldi scr0, 0xDF   ;STACK! attiny25 offset when using tn45def.inc

I compiled this with Atmel Studio and used the same fuse settings to flash.
« Last Edit: November 15, 2016, 01:57 PM by blecky »

Offline blecky

  • Newbie
  • *
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #158 on: November 15, 2016, 04:03 PM »
I got "board" and decided to make up a PCB for the UltraCIC II.



https://oshpark.com/shared_projects/bjQ46PCT

You can order 3 PCBs from OSHPark for $1.50 inc shipping.

This is a slightly different approach. Instead of a switch, there is a pullup resistor and jumper than you use to set the type of CIC (or you can use the jumper leads to wire up a switch elsewhere). The resistor should be about 20K or so (it's an 0805 footprint) and the jumper should be a right angled 2 pin connector. You put a jumper cap on to set the UltraCIC to PAL (pulls pin low), and leave open for NTSC (pin is pulled high by resistor). This allows you to get the lowest profile possible on this so you are able to use it with a low profile DIP socket, without hitting the Everdrive casing and to be able to take it out easily for re-programming.

Note there is also a solder jumper pad on the board as well if you prefer that option. Solder it closed for PAL, leave it open for NTSC. The white dot on the top is pin 1.

All the components should go on the "bottom" (the side without the UltraCIC label) with the UltraCIC leads and jumper facing down from this bottom side.

Here's a copy of the schematic:



Note while pin 5 of the ATTiny would normally connect to ground when connected to a cartridge, it's left "floating" like this so you can program the chip after soldering to the PCB as you need the MOSI pin to program.

And here is what the boards look like once put together:





You will want to put some insulating tape on the top so it doesn't short to the cart shield if you are using a socket.

Edit: slight change in schematic (and OSHPark order page) to bridge both of the VDD pins for compatibility with other carts in case they aren't both connected in the cart's PCB layout. If you have already made this for the Everdrive it will work just fine.
« Last Edit: March 21, 2017, 01:22 PM by blecky »

Offline MRKane

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #159 on: November 25, 2016, 02:21 AM »
This is probably way out of place here, so feel free to delete if so. And I've also not read through all 11 pages in this thread or through the forum as much as I should due to having time in limited supply at present.

I've just finished doing a multi-region N64 (by making a PCB that housed both chips and a multiplexer) and was left thinking if there was a better way to do so (can post video, or board schematics if anyone wants them). Having tested my idea, and checked outputs I'm left feeling that there has to be a better way. Naturally I started to wonder about wiring a CIC into the PIF chip but know that there are too many differences between carts for that to work.

To voice an idea: do you think the CIC code for the Everdrive at about the state where this is a feasible way to make a N64 unit region free?

Offline blecky

  • Newbie
  • *
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #160 on: November 25, 2016, 01:33 PM »
There was discussions about it maybe being possible to make the UltraCIC auto switch between different regions. But other than that, you would have to look into developing it, waiting for someone to take a look at it, or even commissioning someone to do it.

Offline saturnu

  • ヽ(^o^)丿
  • Hero Member
  • *****
  • Posts: 1182
  • Karma: +156/-0
    • View Profile
    • :D
Re: switchable UltraCIC II for legacy ED64
« Reply #161 on: November 25, 2016, 01:50 PM »
it's possible to create a replacement PIF for a multiregion console.
... and indeed it's possible to get rid of the ultracic switch, too. ^^

Offline MRKane

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #162 on: November 25, 2016, 11:38 PM »
Cheers for the info everyone!

I might continue to mess around with the open board I've got here as for a change it's very easy to access lines, and come back if I find anything interesting  ;)

Offline SonOfABisharp

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC II for legacy ED64
« Reply #163 on: January 18, 2017, 01:31 PM »
pretty easy, you just need to relocate one semicolon. ^^


example 7101 to 7103:

;------------------------------------------------
;Choose CIC_TYPE(pick one):
;------------------------------------------------
;.equ CIC_TYPE=0b0000   ;6102
;.equ CIC_TYPE=0b0001   ;6103
;.equ CIC_TYPE=0b0010   ;6106
;.equ CIC_TYPE=0b0011   ;6101
;.equ CIC_TYPE=0b0100   ;6105
;.equ CIC_TYPE=0b0101   ;6105
;.equ CIC_TYPE=0b0110   ;6105
;.equ CIC_TYPE=0b0111   ;6105
.equ CIC_TYPE=0b1000   ;7101
;.equ CIC_TYPE=0b1001   ;7103
;.equ CIC_TYPE=0b1010   ;7106
;.equ CIC_TYPE=0b1011   ;7102
;.equ CIC_TYPE=0b1100   ;7105
;.equ CIC_TYPE=0b1101   ;7105
;.equ CIC_TYPE=0b1110   ;7105
;.equ CIC_TYPE=0b1111   ;7105
;------------------------------------------------


One quick question about selecting the CIC chip before compiling why are there 4 choices for both the 6105 and the 7105 CICs as shown above?

Does it matter which one is chosen?
« Last Edit: January 18, 2017, 01:40 PM by SonOfABisharp »

Offline dragoncity

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: switchable UltraCIC for legacy ED64
« Reply #164 on: October 28, 2017, 09:27 PM »
very cheap usbasp programmer:
http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-Adapter-10-Pin-Cable-USB-ATMEGA8-ATMEGA128-Arduino-/310506909410
http://www.aliexpress.com/item/Hot-1pcs-USB-ISP-Programmer-for-ATMEL-AVR-ATMega-ATTiny-51-AVR-Board-ISP-Downloader/953484051.html?ws_ab_test=201556_2,201527_1_71_72_73_74_75,201409_3

Code: [Select]
avrdude -p t25  -c usbasp -U lfuse:w:0xc0:m -U hfuse:w:0xdf:m -U flash:w:UltraCIC.hex
attiny 25
http://www.ebay.com/itm/ATtiny25-20PU-ATMEL-AVR-RISC-C-20MHz-ATtiny-DIP8-/360277411925


keep in mind, that if you want to reflash an existing ultracic, it needs to be clocked.
so you have to add an external clock or flash it in circuit while the n64 is running. :D

Hello  :)

Do you think is it possible to program with this ?


http://www.ebay.fr/itm/Programmer-Development-Board-Micro-USB-for-ATtiny13A-ATtiny25-ATtiny45-ATtiny85/381563568611?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

And if yes with which tool?


I saw your code :
avrdude -p t25  -c usbasp -U lfuse:w:0xc0:m -U hfuse:w:0xdf:m -U flash:w:UltraCIC.hex


So if I understand it makes a cartridge region free..exactly?   ::)

And if yes,is it possible to put directly on PIF-NUS..?


Thank you  :)

« Last Edit: October 28, 2017, 09:49 PM by dragoncity »