Jump to content
IGNORED

512K Cartridge Status


Ksarul

Recommended Posts

Interesting. I already have a RS-232 card, how hard is that mod to do by yourself?

 

not hard if you can solder parts onto a single layer pcb.. http://www.arcadeshopper.com/wp/?page_id=11#!/~/product/category=5051340&id=21147033

is the boards and links to the instructions and parts list are on that entry

 

Greg

Edited by arcadeshopper
Link to comment
Share on other sites

As far as I know, only I have a "working" version... I hadn't intended any of this to be distributed yet. ;)

 

Looking at what Greg forwarded, that's actually not the final GROM code, it predates all the discussion here on AtariAge which led to further changes, as did some discoveries when I started writing the loader. However, I think it SHOULD work since it will have the correct pinout.

 

The TI code exists at the beginning, and is just a single-run test program (the same as in the gromtest.zip that it appears you got). The AVR code starts at $1C000, and I suspect therein lies your issues - you have to configure the chip itself for a bootloader as well as loading the flash (for this code, you don't need to load the EEPROM, leave it erased. This will also be true on the final).

 

I believe you are all using AVR studio, so I can just describe the fuses you need to set on the programming panel (on the 'fuses' tab):

 

First, using the Main tab, make SURE you are configured for the right AVR (use 'Read Signature' to make sure! If you have the right chip but get a bad signature, that means your communication is not stable, you can slow down the ISP speed under the settings button on that same tab. Before the fuses are set, you may have trouble getting much above 115k, depending on settings you may have to go down to 57.6k. You can turn it back up after the fuses are programmed).

 

So, fuses:

 

BODLevel: Brown-out detected at VCC=4.3V (optional, but a good idea)

OCDEN: Disabled

JTAGEN: Disabled (we need these pins!)

SPIEN: Enabled (it's what we are programming it with)

WDTON: Disabled (still deciding on this)

EESAVE: Disabled (probably optional, but it's cleaner this way)

BOOTSZ: Boot flash size=4096 words Boot address = $F000

BOOTRST: Enabled (else the BOOTSZ vector won't take effect)

CKDIV8: Disabled (we want the full clock)

CKOUT: Disabled (we need this pin too)

SUT_CKSEL: Int. RC Osc: Start-up time: 6CK + 0ms (this gives a fast start internal 8MHz clock)

 

That should get your code booting.

 

For those who feel adventurous, here's the files for the multicart demo in my video. You must program flash, eeprom, and the ROM side as well for this cart to do anything (although the space-bar powerup still works).

 

attachicon.gifgromdemocart2013Hex.zip

 

I should make a note about the space bar powerup -- it just adds Easy Bug and Run Program File to the selection menu, so you won't see any changes on the title page. Make sure you hit a key to check. ;) Also it is /not/ a reset check, not even if you have a hardware reset button. It is checked at power on ONLY.

 

And finally, this is all prerelease code. My intention was that we'd have the GROM side programmed and tested, and you could just use the loader program on the TI to put whatever into it. Nobody was very interested in this code in 2010 so I didn't think anyone wanted to deal with AVR Studio and manual assembly of files. :)

 

Just got my 1284 programmer, and it seems to work fine. The code and data sections program and verify ok. But I'm not sure about the config area as it doesn't match up with the choices in Atmel Studio.

 

Here's a pic of the config settings, and what I've got checked.

 

gallery_29515_833_54255.jpg

 

As it is, it doesn't quite work. Sometimes the cart starts up a little & then locks, so I think it's close. Can someone point me in the right direction?

 

Thanks,

 

Gazoo

Link to comment
Share on other sites

Ok, I finally figured out how to program these !@#$%^&* 1284p chips.

 

It takes 2 programmers and 3 steps, about 40 minutes total, who woulda thunk?

 

First, I used the Minipro programmer to set the config. Set it up for the 1284p chip and the default config options for the chip.

Here's a pic of the default config options.

 

gallery_29515_833_47967.jpg

 

Now click 'device' and then 'program'.

 

Set the check boxes like the pic below and click 'program'.

 

gallery_29515_833_21308.jpg

 

Now change the config options as shown in the pic below, click 'device' and then 'program' again.

Click 'Program' again from the programming screen.

 

gallery_29515_833_54330.jpg

 

Now take the chip out of the programmer, and put it in the AVRISP mkII programmer.

Start up Atmel Studio. Click 'tools' and then 'device programming'.

Choose AVRISP mkII under 'Tool'. Click 'Apply'. Click 'Read' under 'Device Signature'.

Click 'Interface Settings' and move the 'ISP Clock' slider to 8.239 khz.

Click 'Set'.

Click 'Memories' on the left.

Choose your 'Flash' and EEprom' files.

Click 'Program' in the EEPROM' section.

When that's verified, click 'Program' in the Flash section.

You'll get multiple timeout errors, click 'Continue waiting' until it's done.

 

It takes about 40 minutes for the process to complete, but you'll end up with a working chip.

 

It works, but surely there's a better way. :(

 

So far I've programmed chips for the XB v2.7 Suite and RXB menu/no menu carts and both work perfectly.

 

Break time...

 

Gazoo

Edited by Gazoo
  • Like 1
Link to comment
Share on other sites

It takes 2 programmers and 3 steps, about 40 minutes total, who woulda thunk?

 

Or you guys could just use AVR Studio, which is free, and stop trying to work around everything.

 

(edit: Well, I guess if you don't have the STK dev board, maybe you can't use AVR Studio, but is it worth the hassle to use that other programmer?)

Edited by Tursi
Link to comment
Share on other sites

 

Or you guys could just use AVR Studio, which is free, and stop trying to work around everything.

 

(edit: Well, I guess if you don't have the STK dev board, maybe you can't use AVR Studio, but is it worth the hassle to use that other programmer?)

 

The problem is Atmel Studio won't access the chip unless the config is first set with the other programmer. It gives that 0xc0 error.

Once the config is set, Atmel Studio programs the chip correctly.

 

I wasn't trying to work around anything, It's the only way out of the dozens that I tried that actually worked, spent almost a full day figuring it out.

 

Gazoo

  • Like 1
Link to comment
Share on other sites

I don't think one needs two programmers. avrdude will work with both AVRISP mkII and most other programmers, and should work even on chips unprogrammed.

 

I use avrdude with mkii and usbasp (a cheap programmer that one can get on eBay for a few bucks) and I've used it with a parallel port programmer, and all work fine.

 

Jim

Link to comment
Share on other sites

Could really do with some research into which programmer(s) are required to fully program these carts. I'm looking to buy a programmer myself, though I already own an ATmel AVR ISP MKII which I've previously used to program ATMega328 Arduino ICs.

 

Ideally, I'd like to buy one which covers the ICs needed for both of the cards I recently purchased from Ksarul. (1 of each, 512K and UberGROM boards).

 

Anyone have pointers as to which (single, preferably) programmer fits the bill?

Link to comment
Share on other sites

 

The problem is Atmel Studio won't access the chip unless the config is first set with the other programmer. It gives that 0xc0 error.

Once the config is set, Atmel Studio programs the chip correctly.

 

I wasn't trying to work around anything, It's the only way out of the dozens that I tried that actually worked, spent almost a full day figuring it out.

 

Gazoo

 

I don't know that "Atmel Studio" is the same thing as "AVR Studio". A quick search does say that "Atmel Studio" is the new one. I'll give it a try, I expect it must still be compatible.

 

But all this talk about multiple programmers and multiple passes and "what works" really seems odd. I developed the thing, and I don't need to go through all these steps. I have an STK500 and AVR Studio, and I can load the configuration, program, and test the chips all from one program, and yes, it actually does work. I've been doing it since I did the PS/2 keyboard AVR way back when. I have never used ANYTHING else. I can even recover from a misconfigured chip, in the same program.

 

Somehow I must have made it work, and I'm telling you I didn't do anything special. ;)

 

As for Arcadeshopper's comment: NO. You guys were never expected to deal with raw programming of the chips. You are dealing with beta, non-release code. The /intent/ was you would drop the pre-programmed chip onto the cartridge PCB, plug it into your TI, and load the GROM code you waned to use there. The actual AVR code, I was expecting we'd do pre-programmed chips for all but the hard core group who WANTED to do their own and could work out how. ;)

  • Like 1
Link to comment
Share on other sites

 

I don't know that "Atmel Studio" is the same thing as "AVR Studio". A quick search does say that "Atmel Studio" is the new one. I'll give it a try, I expect it must still be compatible.

 

But all this talk about multiple programmers and multiple passes and "what works" really seems odd. I developed the thing, and I don't need to go through all these steps. I have an STK500 and AVR Studio, and I can load the configuration, program, and test the chips all from one program, and yes, it actually does work. I've been doing it since I did the PS/2 keyboard AVR way back when. I have never used ANYTHING else. I can even recover from a misconfigured chip, in the same program.

 

Somehow I must have made it work, and I'm telling you I didn't do anything special. ;)

 

As for Arcadeshopper's comment: NO. You guys were never expected to deal with raw programming of the chips. You are dealing with beta, non-release code. The /intent/ was you would drop the pre-programmed chip onto the cartridge PCB, plug it into your TI, and load the GROM code you waned to use there. The actual AVR code, I was expecting we'd do pre-programmed chips for all but the hard core group who WANTED to do their own and could work out how. ;)

 

the Stk500 has an oscillator on board.. the cheapass mkii we all bought does not..

 

I am going to build an external oscillator and see if i can recover a few of my "programmed" devices, once that fuse is set to external oscillator the mkii can't talk to it..perod. without an external oscillator..

 

Greg

Link to comment
Share on other sites

 

the Stk500 has an oscillator on board.. the cheapass mkii we all bought does not..

 

I am going to build an external oscillator and see if i can recover a few of my "programmed" devices, once that fuse is set to external oscillator the mkii can't talk to it..perod. without an external oscillator..

 

Greg

 

Yes, I actually do that on the STK500, too (didn't see how to attach the onboard oscillator to the AVR). I even posted a picture of it a few messages back. ;)

 

Not much to build, just get the half-size oscillator clock I linked and you can wire it in with three wires. :)

Link to comment
Share on other sites

I have a little more info in programming the 1284p chips now that I have 5 more to play with.

 

You CAN program it with the AVRISP mkII and Atmel Studio, but only once. Once it's programmed, you won't be able to access the chip again, you'll get the 0xC0 error.

You need some other way of resetting the config if you want to reprogram the chip. So I still need the MiniPro v6.00 programmer for that, or you can try and find a different way.

 

To program the chip :

 

Run Atmel Studio and set up Device Programming for 'AVRISP mkII' 'ATmega1284P' 'ISP'

Click Read under Device Signature.

 

Click 'Interface Settings' and move the slider to set the ISP Clock to 64khz.

Click 'Set'

 

Click Fuses.

Set the options for this:

BODLevel: 4V3
OCDEN: Unchecked
JTAGEN: Unchecked
SPIEN: Checked
WDTON: Unchecked
EESAVE: Unchecked
BOOTSZ: 4096W_F000
BOOTRST: Checked
CKDIV8: Unchecked
CKOUT: Unchecked
SUT_CKSEL: INTRCOSC_6CK_0MS

Make sure 'Auto Read' and 'Verify After Programming' are checked.

Click 'Program'. It should program ok.

VERY IMPORTANT - now click 'Read'. The settings you have just made should show up. If you don't click 'Read' here, the following steps won't work.

 

Click 'Memories'.

 

Fill in your file for 'EEPROM (4kb)'. Check 'Verify EEPROM after programming.

 

Click 'Program' in the 'EEPROM (4kb)' section. It should program ok.

 

Fill in your file for 'Flash (128kb)'. Uncheck 'Erase Device before programming' and check 'Verify Flash after programming.

 

Click 'Program' in the 'Flash (128kb)' section. It should program ok.

 

You're done. You should now have a working ATmega1284p chip.

However, any attempts past this point to access the chip with Atmel Studio and the AVR mkII will result in the 0xC0 error. :(

 

Gazoo

Link to comment
Share on other sites

 

Ok I burned this and it comes up with 2 Multicart but just get a blank screen.. programmed the atmel and 512

 

Greg

 

AND got my new adapter today for the burner, and NOW IT FREEKING WORKS.. reburned the 512k flash rom and bam! nice music demos there tursi. as usual and RXB ON A CART (waves at Richard)

 

Greg

  • Like 1
Link to comment
Share on other sites

 

So I think i just need an oscillator to regain control through studio with my mkii, got one on order should be here in a couple days..

 

Greg

 

Could really do with some research into which programmer(s) are required to fully program these carts. I'm looking to buy a programmer myself, though I already own an ATmel AVR ISP MKII which I've previously used to program ATMega328 Arduino ICs.

 

Ideally, I'd like to buy one which covers the ICs needed for both of the cards I recently purchased from Ksarul. (1 of each, 512K and UberGROM boards).

 

Anyone have pointers as to which (single, preferably) programmer fits the bill?

 

Arcadeshopper, if it doesn't work, I should be able to reset them for you. The MiniPro programmer doesn't seem to care what the chips were set at previously, it resets the config (or Fuses) however you want. And it didn't break the bank at $39, since it does the 512k flash Rom chips as well. :)

 

UKRetrogamer, if you've already got the ATmel AVR ISP MKII, all you need is a MiniPro programmer and you've got it covered.

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

Are we sure that just buying an oscillator won't work? I find it odd that folks are having so much trouble with the mkII, and I've never had an issue (I've had to wire up an osc a few times, when I buggered the fuses, but it's 3 miniclips and done.) I've programmed AVRs from the tiny24 all the way to the atmega1281, from 2004 to 2014, and no worries.

 

Jim

  • Like 1
Link to comment
Share on other sites

I've been busy again, although this will be the last thing I do for a month or so as I'll be really busy offline keeping my boys occupied. :) I plan to ship these to Arcadeshopper tomorrow, so they should show up in the webstore soon. Both of the boys had a blast doing my cartridge testing for me tonight--the six-year-old did not want to stop testing at all. . . :grin: :grin: :grin:

post-27541-0-75780300-1405653245_thumb.jpg

Edited by Ksarul
  • Like 5
Link to comment
Share on other sites

Are we sure that just buying an oscillator won't work? I find it odd that folks are having so much trouble with the mkII, and I've never had an issue (I've had to wire up an osc a few times, when I buggered the fuses, but it's 3 miniclips and done.) I've programmed AVRs from the tiny24 all the way to the atmega1281, from 2004 to 2014, and no worries.

 

Jim

 

Yes, but you're still going to need a different programmer to program the 29f040 chip for the Rom side of the cart. The Minipro can do this, and negate the need for the oscillator for the AVR chip.

 

Gazoo

Link to comment
Share on other sites

 

AND got my new adapter today for the burner, and NOW IT FREEKING WORKS.. reburned the 512k flash rom and bam! nice music demos there tursi. as usual and RXB ON A CART (waves at Richard)

 

Greg

Could you tell me which programmer(s) you're using and which adaptor, please?

  • Like 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...