Shop OBEX P1 Docs P2 Docs Learn Events
What would it take to get some of Dennis 6502 + Prop boards made? - Page 2 — Parallax Forums

What would it take to get some of Dennis 6502 + Prop boards made?

2»

Comments

  • LeonLeon Posts: 7,620
    edited 2009-12-05 14:06
    The 6845 was a useful chip. Inmos even used it on a very high-performance (for the time) transputer-based graphics system. It has been emulated in VHDL, IIRC, so it could easily be put into a CPLD.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • ForrestForrest Posts: 1,341
    edited 2009-12-05 15:51
    Seems like there are a lot of Apple II folks here, but not many Atari 8-bit computer users (400/800/XL/XE). I'm part of the later group.

    The Atari 8-bit computer en.wikipedia.org/wiki/Atari_8-bit_family is very well documented. Atari published the schematics, OS source code and many advanced programming examples in www.atariarchives.org/dere/ using the custom Atari chips used in the 400/800 computers including the Antic (Display list processor), CTIA/GTIA (Graphics processor) and the POKEY (Serial I/O, keyboard/controller I/O and sound) chips.

    I think it would make sense to work on Atari 2600 emulation first, using the Dennis's 6502 + Propeller design. So much of Atari 2600 programming revolves around creating graphics one scan line at a time, the CPU doing some processing a sound generation and then displaying the next scan line.

    Once 2600 emulation is working, the 400/800 would be the next target. The memory map on the 400/800 is spread across 64K, with up to 48K of RAM, 10K OS, and the rest being I/O addresses and some unassigned addresses. Optionally the 8K Basic or Game cartridge, DOS and video memory (960 bytes to 7680 bytes) would all occupy a portion of the 48K RAM address space - reducing the amount of memory available to programs. Many games on the 400/800 made extensive use of the custom chips to generate graphics and use the Display List Interrupt to change graphics in between scan lines.

    The memory map on the XL/XE series is a bit more complicated, because the OS grew to 16K and these computers had the ability to access the RAM 'under' the OS ie. in the same address space as the OS. The Antic, GTIA and POKEY function the same on the XL/XE computers.
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-12-05 17:47
    Actually, I was also an Atari user... Atari 400, later 800XL
    Forrest said...
    Seems like there are a lot of Apple II folks here, but not many Atari 8-bit computer users (400/800/XL/XE). I'm part of the later group.

    The Atari 8-bit computer en.wikipedia.org/wiki/Atari_8-bit_family is very well documented. Atari published the schematics, OS source code and many advanced programming examples in www.atariarchives.org/dere/ using the custom Atari chips used in the 400/800 computers including the Antic (Display list processor), CTIA/GTIA (Graphics processor) and the POKEY (Serial I/O, keyboard/controller I/O and sound) chips.

    I think it would make sense to work on Atari 2600 emulation first, using the Dennis's 6502 + Propeller design. So much of Atari 2600 programming revolves around creating graphics one scan line at a time, the CPU doing some processing a sound generation and then displaying the next scan line.

    Once 2600 emulation is working, the 400/800 would be the next target. The memory map on the 400/800 is spread across 64K, with up to 48K of RAM, 10K OS, and the rest being I/O addresses and some unassigned addresses. Optionally the 8K Basic or Game cartridge, DOS and video memory (960 bytes to 7680 bytes) would all occupy a portion of the 48K RAM address space - reducing the amount of memory available to programs. Many games on the 400/800 made extensive use of the custom chips to generate graphics and use the Display List Interrupt to change graphics in between scan lines.

    The memory map on the XL/XE series is a bit more complicated, because the OS grew to 16K and these computers had the ability to access the RAM 'under' the OS ie. in the same address space as the OS. The Antic, GTIA and POKEY function the same on the XL/XE computers.
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.mikronauts.com Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
    Morpheusdual Prop SBC w/ 512KB kit $119.95, Mem+2MB memory IO board kit $89.95, both kits $189.95
    Propteus and Proteus for Propeller prototyping 6.250MHz custom Crystals run Propellers at 100MHz
    Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
  • potatoheadpotatohead Posts: 10,261
    edited 2009-12-05 20:28
    Good comments all. Here's how I see it: Atari, Apple, CoCo user here. (6502 - 6809)

    Dr_Acula, yeah the SRAM chips are under a minimum order, that's the $18. I've got a little time to do some more looking.

    Where's Holly? She would probably know where there is a deal [noparse]:)[/noparse] Maybe I should get a few quotes with some other Smile, maybe a spare 6809, or something to fit into that minimum...

    The primary factors motivating me are that I want to solder less breadboard for the first pass just to get it right. My skill is novice to dangerous [noparse]:)[/noparse] Also, that makes video changes easy, and there will need to be some for authentic video, IMHO. Better to prototype that so boards made will do more things, or the right kinds of things in the end. I've a proto board that can be soldered up, hardcore like Dennis did. Maybe ship that thing to Baggers.... (heh!) and alter the layout once that works.

    Video is something to be thinking about, and that's a color video circuit that will do 16 grey levels at a pixel clock equal to 1 to 1/2 a NTSC color period. (160 - 320 pixels, NTSC safe area) That's the ideal covering the best case machines. 8 grey levels being displayed would be a happy minimum, still good for the VCS. This should be possible with 4 resistors and some alternative video code.

    For testing, the reference video circuit will be fine. Actually, getting there will be a wonderful problem to have!

    I know I'm not where I need to be programming skill wise in order to complete a 6502 emulation, but I think I'm there for other video / sound related things, and I know others are.

    Eric knocked out a 6502 core, and that's a long way forward, but Eric, Baggers and others have pointed out the number of PASM instructions is not all that high per 6502 clock, and all but the Apple require some timing specific emulation to make video go. That layer of complexity makes the emulation of the CPU one hell of a project. I have my doubts as to speed. Might take a whole prop to do it, and if it does, why not then just have a 6502?

    Using a real 6502 eliminates that initial burden, leaving the fun part, and that's emulating the custom chips.

    IMHO, an Apple emulation might be the easiest. Present the ROMs to the CPU through the Propeller, map the fixed video pages to Propeller RAM, and boot to the monitor, or Applesoft. Apple ][noparse][[/noparse] computers are just not that complex timing wise, and they run at 1Mhz exactly, and don't have all the flexibility other 8 bitters have video wise. IMHO, that's one of the simplest cases I can think of.

    The VCS is attractive because it's got a vibrant home brew game scene, I happen to love the thing, and it's got a feel to it not seen elsewhere. This is because of the CPU being frame locked to the display, and it's unique display properties. That same feel makes it very complex, doing things on a cycle by cycle basis to actually draw a screen of any complexity. There have been some good ideas posted on how do do this, from just doing it in real time, to buffering a display list to be drawn a few scans, or one frame behind. Won't know until a CPU is running code against a Prop emulation.

    The verdict appears to be an emulated CPU is going to have to manage a lot of memory trap states, and be cycle for cycle to actually work as it does in the VCS, and that differentiates it from Heater's success with ZiCog.

    Another thing about the VCS is it does not make any use of the 6502 interrupts, and only uses a small portion of the address space. The 6522 RIOT chip has a timer, and that is used to build a frame that a display can sync to. This is also a simple case that appears to fit the circuit as designed so far.

    For now, I'm going to wait for stuff to show up, and get the other projects to a better state before the "shiny thing" syndrome hoses things up.

    Edit: There are some other projects out there that glue flexible and custom chips to 8 bit CPU's, or cores of those running on FPGA type chips. Some of them are sweet actually. Just saw an Amiga board last night, that's flat out amazing. The appeal of the Propeller is it being a multi-processor means being able to consider projects like this using mostly software, with the end product being rather inexpensive by comparison. Bottom line here is the barrier to entry for somebody like me is one hell of a lot lower using a Propeller than anything else I've ever seen, so I'm gonna just go and try it. [noparse]:)[/noparse]

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!

    Post Edited (potatohead) : 12/5/2009 8:53:58 PM GMT
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-12-05 20:53
    A bunch of Atari, Apple, and CoCo users... bah! I know I'm not the only Commodore64 guy here. [noparse]:)[/noparse]

    How about the 6510? We've got some nice SID and VIC (comparable stuff) now.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Visit the: The Propeller Pages @ Warranty Void.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-12-05 21:23
    Good machine OBC. I had one for a while in the late 80's. Gamed hard on it too. Never did program it much though. Was into the 6809 at that time.

    Anyway, it's got the complexity problems most 8 bitters do, meaning it's likely beyond this simple circuit, and deffo a problem for propeller 6502 emulation with all the memory trapping and timing that's got to happen.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • trodosstrodoss Posts: 577
    edited 2009-12-06 01:24
    Oldbitcollector said...
    A bunch of Atari, Apple, and CoCo users... bah! I know I'm not the only Commodore64 guy here. [noparse]:)[/noparse]

    How about the 6510? We've got some nice SID and VIC (comparable stuff) now.

    OBC

    VIC20/C64/128/Amiga... So, maybe there are two of us [noparse];)[/noparse]
    ·
  • BaggersBaggers Posts: 3,019
    edited 2009-12-06 10:43
    I was thinking VIC20 also, screen is also straight forward ( no sprites etc ) so could be done with a single cog, like the Apple][noparse][[/noparse] one.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-06 13:17
    Baggers, once you get the dracblade board I'm looking forward to your thoughts on color and simple vic20 type graphics. I think there are a lot of things we can do to push the graphics. Ok, the 448k free on the ram chip is much slower to access than hub ram, but it could be used as a buffer and the relevant bits moved into hub as needed. If the prop is handling the timing via a cog then timing on a 6502 emulation is not so critical.

    The 6502 emulation is still a dream though. Start with a real physical 6502 coupled to a prop. Walk before running and right now I think we have got mid 70s computers working with monochrome and it is time to move up to early/mid 80s computers with some colour. There are already some very clever projects out there.

    How are things going with a board for Dennis's computer - I'm looking forward to a photo of a breadboard layout!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • edited 2009-12-06 14:00
    It is a nice project but if the 6502's memory is under software control then does the 6502 have anymore I/O?

    "There's a very interesting circuit trick in there. As far as I can tell, he's relying on the 6502 Data Bus not being driven during PHI1. So he's able to connect the address bus to the data bus with a couple of 74244's, and sample the data bus, in order to emulate any peripherals - there are no peripherals otherwise accessible to the 6502. (For a peripheral read, I suppose he drives the databus during PHI2, as normal.)"-Big Ed from 6502.org
  • potatoheadpotatohead Posts: 10,261
    edited 2009-12-06 16:05
    Baggers, I was reading about the VIC this morning. Agreed. It could happen on this circuit.

    @Dr_Acula: Right now I'm waiting on parts to arrive, and writing code this morning for FREEWAY and some spit 'n polish on the 8x8 text driver. Maybe a mono variation of that.

    Trust me, there will be photos, because with me, there will be problems [noparse]:)[/noparse] I'll be asking for some assembly / circuit help. This will be a have scope, camera, parts, breadboard, and sheer force of will kind of thing. Looking forward to it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!

    Post Edited (potatohead) : 12/6/2009 4:11:34 PM GMT
  • BaggersBaggers Posts: 3,019
    edited 2009-12-06 16:49
    Yeah, it's pretty straight forward enough to work, ( but don't quote me on this, as it's bound to be a PITA to get working lol )

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    http://www.propgfx.co.uk/forum/·home of the PropGFX Lite

    ·
  • Sal AmmoniacSal Ammoniac Posts: 213
    edited 2009-12-06 18:03
    Retro computing seems to be quite popular these days. The current issue of Circuit Cellar magazine has an article about reimplementing an Apple ][noparse][[/noparse], particularly Woz's video circuitry, in an FPGA.
  • mikedivmikediv Posts: 825
    edited 2009-12-06 18:07
    I had an Atari 800 for my first real computer that I didn't have to build myself. I always thought it was far superior to the apple as far as graphics and sound but that just me.. Hey Guys did anyone resolve the Sram issue of where to buy them?
    I want to get a DIP package SMT is just to hard for me to see when I solder up boards even with magnifier I end up ruining to many parts .. Anyway I tried Digi and mouser but they could not help me figure out what part to order
    I would be fine with 128 or 256 but would really like the 512 option can you guys tell me how many would I need for this project? Thanks
  • potatoheadpotatohead Posts: 10,261
    edited 2009-12-06 18:18
    UTSource.net has them.

    Digikey had everything else. I've got the digikey package ordered, and expect it in a few days. UTSource uses a ask for it, we quote it, then you buy it system. Since they priced the two chips at $5.00 each to meet their $10 minimum, I went ahead and asked for another quote with a 6809 in it, just because. Figure I might as well get something for the dollars, and the 6809 would be another excellent target for this down the road.

    My local surplus electronics store had sockets, video output connectors and such. They didn't have the socket for the SRAM, but they did have some 8 pin DIP sockets, so I picked up a few of those to just stack side by side on the breadboard.

    Here are the relevant data sheets downloaded this morning, along with the 6522 RIOT chip, used as the system RAM / controller I/O and frame timer in the VCS.

    The SRAM isn't needed for the VCS actually. The Propeller HUB can hold a 4K program, and the 128 bytes of RAM easily enough. It makes sense to go ahead and get them anyway, if nothing else to run the demos and vet the circuit assembly.

    Total cost for me will be under $50, and that's because I don't have a lot of the basics. Maybe Gadget Gangster can do kits down the road....

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!

    Post Edited (potatohead) : 12/6/2009 6:36:22 PM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-12-06 23:30
    re mikediv "Hey Guys did anyone resolve the Sram issue of where to buy them?"

    I'm getting mine from www.futureelectronics.com/en/technologies/semiconductors/memory/static-ram/asynchronous/Pages/5985502-AS6C4008-55PCN.aspx

    I think it was cluso that found these. If you want DIP and 3V or 5V (2.7 to 5.5)and reasonably fast that does limit the options a bit. On the other hand, Dennis' board runs on 5V and there are heaps of 5V sram options from Furutlec. Even a couple of 62256s (32k) could be pressed into service. Generally, srams have similar pinouts moving up from 2k to 512k. RD/WR are in similar positions, the data lines are on the right hand side, and the order is the same except for the higher address bits. Given shipping is a high cost, I've decided to use these chips for lots of different designs, even when a lot of the capacity is not used (for Dennis' project, tie the high address lines A16-19 high or low).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.smarthome.viviti.com/propeller
  • mikedivmikediv Posts: 825
    edited 2009-12-07 02:28
    Thanks guys, Dr Acula I ordered 8 of the rams, am I correct in assuming these are 8 bit ram chips so the prop is a 32 bit device so I so I would need 4 of them for 512X32??? I get confused with the serial ram but these state they are 8 bit correct? thank you
  • Roy ElthamRoy Eltham Posts: 3,000
    edited 2009-12-07 16:43
    I grew up with the Commodore VIC20, C64, C128, and eventually Amiga.

    I even have a working one of these: http://oldcomputers.net/sx64.html
    Roy

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Check out the Propeller Wiki·and contribute if you can.
  • potatoheadpotatohead Posts: 10,261
    edited 2009-12-07 17:28
    I was right about the minimum. utsource tossed in a 6809 for only $1.00 more. Sweet.

    All parts ordered, with cheap and slow shipping. So, now I wait a coupla weeks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
    Chat in real time with other Propellerheads on IRC #propeller @ freenode.net
    Safety Tip: Life is as good as YOU think it is!
  • Ahle2Ahle2 Posts: 1,179
    edited 2009-12-14 20:11
    mikediv said...
    I had an Atari 800 for my first real computer that I didn't have to build myself. I always thought it was far superior to the apple as far as graphics and sound but that just me..

    It was WAAAY ahead of any home computer when it was release in 1978.... and it wasn't surpassed until 1982.
    Jay Miner was a genious.... just look at the capabilities of his dream machine, the Amiga 1000 in 1985... Waay ahead.
  • Ahle2Ahle2 Posts: 1,179
    edited 2009-12-14 20:30
    trodoss said...
    Oldbitcollector said...

    A bunch of Atari, Apple, and CoCo users... bah! I know I'm not the only Commodore64 guy here. [noparse]:)[/noparse]

    How about the 6510? We've got some nice SID and VIC (comparable stuff) now.

    OBC

    VIC20/C64/128/Amiga... So, maybe there are two of us [noparse];)[/noparse]

    Atari ST, C64, C128, Amiga... So, maybe there are three of us [noparse];)[/noparse]

    I have got:
    1 Atari 520STe
    4 Commodore 64 (One boxed in mint condition)
    3 Commodore 128 (Two boxed in mint condition)
    1 Amiga 2000
    2 Amiga 500
    2 Amiga 1200 (One with MC68060 50 Mhz, 4GB flash drive and indivision AGA, unboxed until 2005)

    I bought my first PC in 2001... until then I used my Amiga 1200 for internet, music composing, coding, word processing. etc.
    Commodore rules !! yeah.gif
  • Ahle2Ahle2 Posts: 1,179
    edited 2009-12-14 21:07
    The 6502 isn't very hard to emulate at all.... It took me a couple of hour coding it for my SID dumping tool using C++.
    But then I have already coded an emulator for the Hu6280 that I have used in my PC Engine/ Turbo Grafx 16 emulator.
    The Hu6280 is basically a 6502 with a MMU and an extended instruction set.

    Coding an efficiant 6502 emulator running in one cog is a little bit trickier than doing it in C/C++ though. wink.gif
  • mikedivmikediv Posts: 825
    edited 2009-12-14 23:14
    Ahle2 I agree after the Atari 800 and besides the pc clones they don't count I had a very brief stint with the Atari ST line but once I got an Amiga 1000 I was blown away I have a 4Gig ram PC desktop with windows 7 and all the bells and whistles and my lowly Amiga 1000 could out multitask it hands down the operating system was incredible I later bought the big boy Amiga and had a video toaster system I wish I had kept it but if you wanted to work in IT the PC clone and microsoft was the only way ,, I have an old S-100 box 8080 32K not Meg of ram
    it runs CPM, Wordstar, Ahston tates Dbase, Supercalc, Lotus it runs all the software plus the operating system in 32K of RAM!!! and with my 5Meg hard drive 8 inch of course it will load the operating system and my applications in a blink of an eye while my 4 Gig super system takes 5 minutes and gets slower every day and the software(microsoft ) get bigger and bigger they now recommend 2 Gig as a base give me break the programs are not any better just BIGGER and bloated ,,, LOL I had to vent I just upgraded my Wife's laptop from Vista to 7 it took 3 hour's !!!!!
  • Ahle2Ahle2 Posts: 1,179
    edited 2009-12-14 23:54
    mikediv said...
    I had a very brief stint with the Atari ST line but once I got an Amiga 1000
    Same thing here... but an Amiga 500 instead.
    I was awestruck when i first saw "Shadow of the beast" in 1989.
Sign In or Register to comment.