Jump to content
IGNORED

Nice and simple 65816 upgrade for original 800?


Kyle22

Recommended Posts

Hi Guys, I found this: https://groups.google.com/forum/#!topic/comp.sys.atari.8bit/488g3gpnm20

and was wondering if it is really that easy. Looking at the 816 and 02 pinouts, it looks like more than 1 jumper may be necessary.

 

I don't have the schematic in front of me, and I'm online with cell phone now, so I don't have easy access to it.

 

I have a 65c802 in it now, and it works great, but no way to access linear RAM with the 802.

 

Does anyone have any info on this?

 

-Kyle

 

  • Like 1
Link to comment
Share on other sites

: This is all you have to do. Remove and replace the cpu, and place a Jumper
: wire at A303 pin36 to Z302 pin 5. Then the 800 becomes 16 bit.

 

A303 pin 36 => 6502 CPU NC pin. 65C816 BE or Bus Enable.

 

Z302 -7474<74LS74?> pin 5 => !(R/!W) signal.

 

From the WDC web site:

 

"The Bus Enable input signal allows external control of the Address and Data Buffers, as well as the RWB

signal. With Bus Enable high, the RWB and Address Buffers are active. The Data/Address Buffers are
active during the first half of every cycle and the second half of a write cycle. When BE is low, these buffers
are disabled. Bus Enable is an asynchronous signal."
There's some special mojo going on if that works. :) It would/could/should sorta work because the way the !HALT signal is sent into the flip flop I think. Whenever the !HALT line is asserted the R/!W line should be steady state since !HALT is fed into the flip flop data pin.
I have my 65C02 800 and a 65C816 laying out where I can put my hands on it. It should be something I could get to in 10 minutes but my current hobby rate means it will probably take me a week. Good luck putting it in a 400, I will get to it eventually.
Link to comment
Share on other sites

I only meant that I am going to *try* it on a 400 so I don't damage my 800 if something goes wrong. What 'd really like to see is for Lotharek to make a replacement CPU card that combines Rapidus and VBXE on a single card. That would be the perfect companion for the Incognito.

  • Like 1
Link to comment
Share on other sites

 

: This is all you have to do. Remove and replace the cpu, and place a Jumper

: wire at A303 pin36 to Z302 pin 5. Then the 800 becomes 16 bit.

 

A303 pin 36 => 6502 CPU NC pin. 65C816 BE or Bus Enable.

 

Z302 -7474<74LS74?> pin 5 => !(R/!W) signal.

 

From the WDC web site:

 

"The Bus Enable input signal allows external control of the Address and Data Buffers, as well as the RWB

signal. With Bus Enable high, the RWB and Address Buffers are active. The Data/Address Buffers are
active during the first half of every cycle and the second half of a write cycle. When BE is low, these buffers
are disabled. Bus Enable is an asynchronous signal."
There's some special mojo going on if that works. :) It would/could/should sorta work because the way the !HALT signal is sent into the flip flop I think. Whenever the !HALT line is asserted the R/!W line should be steady state since !HALT is fed into the flip flop data pin.
I have my 65C02 800 and a 65C816 laying out where I can put my hands on it. It should be something I could get to in 10 minutes but my current hobby rate means it will probably take me a week. Good luck putting it in a 400, I will get to it eventually.

 

Is there someplace to learn about cycles, buffers, signals, function of the A8? Service manuals don't have much about the fundamentals of the A8.

I have a couple 800XL mb that I want to repair.

It would be nice to know the powerup sequence of events that I could follow with a logic probe and oscilloscope.

Edited by russg
Link to comment
Share on other sites

Z302 pin 5 is the latched HALT line. It works.

 

You can add the wire and it still works with the old 6502 CPU. And, it seems to work with a 65816 - BXL and Star Raiders look OK.

 

This is in a 400. Didn't try an 800 but I expect the same.

 

Easy way to play with 65816 op-codes, anyway. Linear memory would take some m/b wiring for A14, A15, 02, and a new memory card. Not so easy.

 

Bob

 

 

 

 

: This is all you have to do. Remove and replace the cpu, and place a Jumper
: wire at A303 pin36 to Z302 pin 5. Then the 800 becomes 16 bit.

 

A303 pin 36 => 6502 CPU NC pin. 65C816 BE or Bus Enable.

 

Z302 -7474<74LS74?> pin 5 => !(R/!W) signal.

 

From the WDC web site:

 

"The Bus Enable input signal allows external control of the Address and Data Buffers, as well as the RWB

signal. With Bus Enable high, the RWB and Address Buffers are active. The Data/Address Buffers are
active during the first half of every cycle and the second half of a write cycle. When BE is low, these buffers
are disabled. Bus Enable is an asynchronous signal."
There's some special mojo going on if that works. :) It would/could/should sorta work because the way the !HALT signal is sent into the flip flop I think. Whenever the !HALT line is asserted the R/!W line should be steady state since !HALT is fed into the flip flop data pin.
I have my 65C02 800 and a 65C816 laying out where I can put my hands on it. It should be something I could get to in 10 minutes but my current hobby rate means it will probably take me a week. Good luck putting it in a 400, I will get to it eventually.

 

Link to comment
Share on other sites

I can't find a pinout of the 800 RAM card slots anywhere, but I would think all missing signals needed for linear RAM should be on the Incognito PBI connector.

 

Ideas? Yes... No... Could this be done as a companion card for Incognito, or am I crazy :)

 

What I really want is a replacement CPU card that has the equivalent of Rapidus and VBXE on it, but for now, I'm thinking about how to do this :)

  • Like 1
Link to comment
Share on other sites

Rapidus and VBXE?

 

Yes, well,, good luck with that. That's a lot of hardware.

 

The signals you need for linear memory are on the m/b. You just need a few jumpers to the RAM card socket. With a new memory card, you could make a 400/800 into a 65816 with 512K of linear memory. It would only run at 1.79mhz, but that's enough for program development and it would be compatible with the XL high-speed machines.

 

Bob

Link to comment
Share on other sites

I am kind of hoping that Lotharek and others will appreciate the possibilities of this and consider producing such a card. The VBXE should be possible now, just run a 40 pin DIP pin header ribbon cable from the ANTIC socket to the VBXE board stuffed in the extra space inside the bottom of the 800 case. Same with Rapidus in the C014806 socket (I'll need to get a newer CPU card for that). I think it's possible now, but it would be an ugly solution. A card with all this in one would be awesome, especially for Incognito owners, especially since SDX can see linear RAM.

 

I have a 65c802 in there now, and it works great with the new instructions, but I want to explore the world of linear RAM :) Speed and video are always nice too. :)

 

Basically, I want to have a turbocharged MARS-8 sort of thing (done right), no offense Mike. (You were on the right track).

 

Just an idea... :)

Link to comment
Share on other sites

Is there someplace to learn about cycles, buffers, signals, function of the A8? Service manuals don't have much about the fundamentals of the A8.

I have a couple 800XL mb that I want to repair.

It would be nice to know the powerup sequence of events that I could follow with a logic probe and oscilloscope.

 

I haven't seen the Sams photofacts for the computer series, I just had the disk 1050 drive one. Sams had a lot of wave forms/oscilloscope pics and methods for the 1050 anyway. IMHO, they are better in detail then the other sources like the Technical Ref. They don't go into details with the why and howto like an instructional manual, just info on diagnosis and fix.

Link to comment
Share on other sites

;Z302 pin 5 is the latched HALT line. It works.

 

It is the inverted HALT line me thinks.

 

Way to many burnt out brain cells for me and no 65C816 data sheets. The working part of the hack makes more sense to me that way if the 65C816 BE signal becomes active when the system isn't HALTed.

 

John Harris made some instructional posts a few years back when the company he was associated with did a 65C816 system. I think the memory move he posted was only 21 bytes vs. the ~40ish for a standard 6502. I know just using the 65C02 instruction set allows you to write ~5% tighter code. Overall the lower current, reduced code size and resultant faster execution just for adding a jumper and $10 processor seems like a real win. I think B&C has/had some of the old style boards for people that want to revert their 800 back to 6502B/65C816 for ~$15.

 

There's a surprising lack of 65C816 assembly language instructional information. I would have thought assembly language subroutines would be all over the place what with the SNES, Apple IIGS, et al. I'm reminded of when ID did Castle Wolfenstein 3D for the SNES. Story went something like: They found a C compiler for a IIGS<Orca?> and developed the cartridge with that.

  • Like 1
Link to comment
Share on other sites

Western Design Center has the data sheets for free and a programming manual for $10. I D/L the manual for free some years ago but I can't find the file now. (story of my life....)

 

The 65816 (in native mode, I believe) has a move character instruction.

 

Yes, BE (Bus Enable) is active (high) when HALT is not active.

 

Bob

Link to comment
Share on other sites

 

I haven't seen the Sams photofacts for the computer series, I just had the disk 1050 drive one. Sams had a lot of wave forms/oscilloscope pics and methods for the 1050 anyway. IMHO, they are better in detail then the other sources like the Technical Ref. They don't go into details with the why and howto like an instructional manual, just info on diagnosis and fix.

I have Sams for the 800xl. It has wave forms on the schematics. The thing is, I have a working 800XL right next to the busted one. I can compare waveforms on the working one with the

busted one. I also use a logic probe.

For instance, I'm pretty sure this is significant, but I don't know what it means. Pins two of three of my drams are low (the first, second and fifth drams from the bottom). All the other

pin two drams are high in the busted one. On my good 800xl all pins two are pulse. I get high pins all over the place that are supposed to be pulse. But I don't know why.

Link to comment
Share on other sites

Drac030's MultiBasic also can access linear memory, but only as DPEEK and DPOKE, IIRC. Still, very easy to use and reasonably fast. MultiBasic will definitely run from MyDos, and probably Dos 2.0.

 

Edit: Actually in looking at the docs, it can do a lot more than just DPEEK and DPOKE. And it's as easy to use as Turbo Basic XL, but must use a 65816 OS.

 

-Larry

Link to comment
Share on other sites

Western Design Center has the data sheets for free and a programming manual for $10. I D/L the manual for free some years ago but I can't find the file now. (story of my life....)

 

The 65816 (in native mode, I believe) has a move character instruction.

 

Yes, BE (Bus Enable) is active (high) when HALT is not active.

 

Bob

 

hehe, old age is hitting me with a vengeance but so far I haven't done anything antisocial like forget to put on my pants before going out in public.

 

I found the manual you are referring to, I think.

http://wiki.nesdev.com/w/images/7/76/Programmanual.pdf

 

I also found one of the better blurbs Mr. Harris did on the 65C816

http://www.umich.edu/~archive/atari/8bit/Newitems/notes816.txt

 

Lot's of good tips and facts in John's blurb. Does something like 10 iterations of The Sieve in the equivalent of 1.31 secs which is about 5x the speed of Action!. He even patches Textpro for the new move instructions.

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