Jump to content



8

My Atari XEGS Project

atari xegs 6502 6809

239 replies to this topic

#226 Stormtrooper of Death OFFLINE  

Stormtrooper of Death

    Space Invader

  • 49 posts
  • Location:The Netherlands

Posted Wed May 2, 2012 3:43 AM

Very well done ! Domo Agregatto !

I used to program on an TRS-80 MC-10 (the little brother of the 6809 coco). The MC-10 had an 6803. I had many Atari 8bit systems, and i am amazed that you succeeded in putting an 6809 into an Atari 8bit. Did you also had to make other changes to the circuit board of the Atari 8bit , or was it as easy as swapping the 6502C for an 65816 ?

#227 boisy OFFLINE  

boisy

    Star Raider

  • 94 posts

Posted Thu May 3, 2012 7:50 AM

View PostStormtrooper of Death, on Wed May 2, 2012 3:43 AM, said:

Very well done ! Domo Agregatto !

I used to program on an TRS-80 MC-10 (the little brother of the 6809 coco). The MC-10 had an 6803. I had many Atari 8bit systems, and i am amazed that you succeeded in putting an 6809 into an Atari 8bit. Did you also had to make other changes to the circuit board of the Atari 8bit , or was it as easy as swapping the 6502C for an 65816 ?

No mods necessary to the motherboard. You literally remove the 6502C (assuming it's socketed) and insert the Liber809 board. The ROM also needs to be swapped out in the same fashion. But that's all.

I've been building boards and they are going out the door. So far it works on the Atari 130XE, 800XL and 1200XL. Haven't had any other systems to test on. The XEGS is still an issue when accessing $BXXX in RAM mode. It still appears to activate the ANTIC somehow at that address. We've looked at timings on both the 6809 and 6502C using a logic analyzer and we're stumped as to what is going on there.

#228 boisy OFFLINE  

boisy

    Star Raider

  • 94 posts

Posted Sun May 6, 2012 2:05 PM

FYI, they are now available for sale at http://www.cloud9tech.com

#229 Allan ONLINE  

Allan

    River Patroller

  • 4,249 posts
  • Location:Wallingford, CT

Posted Sun May 6, 2012 5:14 PM

How does this work from a programming point of view? Do you have access to Antic and Pokey?

Allan

#230 potatohead OFFLINE  

potatohead

    River Patroller

  • 3,655 posts
  • Location:Portland, Oregon

Posted Sun May 6, 2012 5:43 PM

Yep. It sits where the 6502 used to sit. From there, it's all Atari. This item is now on my "get it soon" list. For YEARS, I've often wondered what a 6809 would be like in various systems. Atari is first outta the gate. I hear others (PLEASE DO APPLE, hint, hint...) are in the works.

#231 ivop OFFLINE  

ivop

    Chopper Commander

  • 123 posts
  • Location:The Netherlands

Posted Sun May 6, 2012 6:05 PM

I guess C64 will (should?) be next, considering its (relatively) huge user base and the SID chip.

#232 Stormtrooper of Death OFFLINE  

Stormtrooper of Death

    Space Invader

  • 49 posts
  • Location:The Netherlands

Posted Mon May 7, 2012 2:08 AM

Is the 6809 better as the 65816 ? Because there already are some programs/games/demos for the 65816.

What are the advantages of the 6809 above the 65816 ? Which one is better ?

#233 potatohead OFFLINE  

potatohead

    River Patroller

  • 3,655 posts
  • Location:Portland, Oregon

Posted Mon May 7, 2012 3:39 AM

I've not programmed the 65816, so others here will have to comment. I have programmed the 6809, and it's just elegant and powerful.

Assembly programming on the 6809 is a lot of fun. It's fast, has a hardware multiply, very flexible addressing modes, auto increment and decrement pre and post, two 16 bit stacks, 16 bit index registers (XY), 16 bit accumulator (D), which also can serve as two 8 bit accumulators (AB). 6809 also has a direct page register, so page zero can be any page. Some creative code that abuses the stack can push a lot of memory around for block fills, etc...

#234 Stormtrooper of Death OFFLINE  

Stormtrooper of Death

    Space Invader

  • 49 posts
  • Location:The Netherlands

Posted Mon May 7, 2012 5:41 AM

As i might have said on this forum : I used to program on an MC-10 (6803 little brother of 6809 coco) and the Atari 8bit. I myselve find this fantastic. 2 worlds in one. I looked at the webpage , the price is about 68 dollars or so. Sadly, i wont buy it. I prefer programming for the masses.

I sold my MC-10 after 2 years. I programmed more as 300+ games/utils/etc. but i was the only kid in Brabant (holland) who had an MC-10. I was becoming frustrated that nobody else had an MC-10. So, when i would buy this great add-on , i would simply go backwards in time, and become a loner again. Programming a fantastic Atari with 6809 but almost nobody has this . And dont forget, its the 2012, not 1983-1985.

Anyhow, i have a big smile on my face, and feel good vibrations. Mucho respect to you for doing this !

I wish i had a timemachine, that i could take all good inventions of the Atari 8bit that were made after 1999 , back to 1978. Yeah.

Then i would be Sid Vicious of the Sex Pistols, drinking a beer, and chatting with the old gods of Atari inc. Sunnyvale, about the Atari 800 and how i and them would design it. hehehe

#235 boisy OFFLINE  

boisy

    Star Raider

  • 94 posts

Posted Mon May 14, 2012 12:35 PM

Now that the Atari version of the Liber809 is working (except for the XEGS), I'm turning my sights on the Commodore 64. Does anyone know if this machine has bus-mastering hardware similar to Atari's ANTIC chip, which will require the CPU to relinquish the bus for a period of time?

#236 potatohead OFFLINE  

potatohead

    River Patroller

  • 3,655 posts
  • Location:Portland, Oregon

Posted Mon May 14, 2012 1:04 PM

Yes. It does need to yield.

#237 JamesD OFFLINE  

JamesD

    River Patroller

  • 3,014 posts

Posted Mon May 14, 2012 1:44 PM

View PostStormtrooper of Death, on Mon May 7, 2012 2:08 AM, said:

Is the 6809 better as the 65816 ? Because there already are some programs/games/demos for the 65816.

What are the advantages of the 6809 above the 65816 ? Which one is better ?
It's been a while since I looked at my books on the 65816 and I haven't spent any time programming it but if I remember correctly:

The 65816 does add a lot of 6809 like features, but for the most part it falls short.
The 65816 depends on mode switching where the the 6809 switches back and forth between 8 and 16 bit instructions at will with separate opcodes for each.
The 65816 adds a B accumulator but you can't directly load or save its content without going through A, making many neat optimizations used on the 6809 worthless on the 65816.
The 6809 can index off of more registers.
The 6809 can PUSH/POP multiple registers on/off the stack with single instructions.
The 65816 does have the built in addressing for a larger memory map, but most using most instructions to access it requires setting up modes for specific pages. A former CoCo game programmer that went on to program the Super NES said it was easier to program the 6809+MMU than to use the 65816's addressing.

The 65816 does fix some major shortcomings in the 6502/65c02. You can use 64K for the stack instead of just 256 bytes.
It also added stack relative addressing. Those are a biggie for compilers, no more need to manage the C stack through page 0 with extra instructions.
That also makes relocatable, re-entrant code easy to write.

The one major thing the 65816 has going for it is that it runs most 6502 software, the 6809 doesn't run any 6502 code.

#238 Rybags ONLINE  

Rybags

    Quadrunner

  • 10,315 posts
  • Location:Australia

Posted Mon May 14, 2012 4:55 PM

BA signal is connected to 6510 /RDY
AEC is similar to the /HALT system used on Atari.

According to every doc I've ever seen, the 6510 receives a 2 MHz clock and performs an entire memory access during one phase of the clock.

Edited by Rybags, Mon May 14, 2012 4:55 PM.


#239 andym00 OFFLINE  

andym00

    Dragonstomper

  • 980 posts
  • Location:An English cowfield...

Posted Tue May 15, 2012 5:06 AM

The important difference is that the 6510 can't be stopped during writes, of which there's a maximum of 3 successive write cycles[1].. The VIC-II always sets BA early enough as I understand it, so it'll bring BA low 3 cycles before it actually wants to steal the cycles that would be used by the 6510.. The 6510 only accesses the bus in the second phase of the clock cycle..
I don't think it actually makes that much difference in the real world though, since the VIC-II takes this timing into account to ensure the processor will be halted in advance of when it wants to access the bus..

From the VIC article..

Quote


RDY If this line is low during a read access, the processor stops with
the address lines reflecting the current address being fetched. It
is ignored during write accesses. In the C64, RDY is used to stop
the processor if the VIC needs additional bus cycles for character
pointer and sprite data accesses. It is connected to the BA signal
on the VIC.

AEC This pin tri-states the address lines. This is used for making the
processor address bus inactive during VIC accesses. The signal is
connected to the AEC output on the VIC.

[1] 2 under normal circumstances such as a some indexed write instructions or a RMW instruction.. Interrupts generate 3 successive writes though, hence the 3 cycles maximum time before the processor is actually halted..

#240 Rybags ONLINE  

Rybags

    Quadrunner

  • 10,315 posts
  • Location:Australia

Posted Tue May 15, 2012 5:15 AM

I believe the 6502 has the exact same behaviour with /RDY




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users