6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 2:15 pm

All times are UTC




Post new topic Reply to topic  [ 31 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Fri Jun 23, 2023 1:15 pm 
Offline

Joined: Tue Apr 11, 2017 5:28 am
Posts: 68
Removed by author


Last edited by Squonk on Tue Oct 03, 2023 7:30 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 1:19 pm 
Offline

Joined: Tue Apr 11, 2017 5:28 am
Posts: 68
Removed by author


Last edited by Squonk on Tue Oct 03, 2023 7:30 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 1:31 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
To summarise: a new design for a product, target price $30, credit card sized single board computer, 65C02 at maybe 16MHz, with RAM and all peripherals served by an RP2040 (that's the microcontroller in the raspberry pi pico)

Peripherals include SD card, audio, speaker, DVI for video, USB for keyboard. Full 40 pin 6502 style bus on a connector.

Not to be confused with the Agon 65X project, also not yet a product, I think. That uses a '265 as the CPU, at 8MHz, and an ESP32 for the smart peripherals.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 6:56 pm 
Offline

Joined: Mon Jan 19, 2004 12:49 pm
Posts: 989
Location: Potsdam, DE
Good to see Tsvetan is still going strong; he made my earliest hobby PCBs.

I'm sadly unexperienced with the RP2040 but I'm keen to see how it can simulate the ram at constant 16MHz clock speed. At 133MHz he's only got eight and a bit cycles to handle the read and write; perhaps some magic can be done with the PIO state machines? Interrupts on ARM M0+ that I'm used to need a minimum of 16 clocks to respond to an interrupt so that's not a practical way to handle it, I think.

Still, I think I want one...

Neil


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 7:25 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
You can do wonders with the PIO machines, but I'd agree, 16MHz seems like it might be a stretch.

For example, one state machine can read some pins and use the values to set up a DMA transfer which another machine picks up on to put or fetch data.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 7:29 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
From the website posting:

Quote:
This computer must run as fast as possible. People confirm that the W65C02 from WDC can be overclocked up to 16Mhz.

This guy needs to talk to plasmo. :D 16 MHz is nothing for the WDC 65C02.

Quote:
Q: Why not make it with VGA? I have one in the basement.

A: We want Neo6502 to be a MODERN computer, and VGA is 40 years old technology.

Pardon my bluntness, but that is a silly statement.

The 6502 architecture is approaching 50 years of age. There is nothing “modern” about that, eh? What’s “modern” in this unit is the use of hobby-unfriendly technology, e.g., HDMI and USB, as well as the Cortex-M0 RP2040 to act as the glue logic and I/O (the irony is the RP2040 can run circles around a 65C02 in terms of MIPS at any given clock rate).

Also, VGA is hardly dead. All one needs to do is to go into a typical computer room in which a number of servers are attached via a KVM switch to a keyboard, monitor and mouse. The video attachment is typically VGA. VGA also continues to be widely used in video surveillance systems. All of the distributors from whom I source parts stock monitors with VGA ports. Reports of VGA’s death, like that of TIA-232, are greatly exaggerated.

I suppose I see some value to those who are not able to scratch-build their own 6502 contraption. What I don’t see is a whole lot of learning potential in a unit like this. The hardware is too opaque, in my opinion. To steal and mangle a turn of phrase from the Immortal Bard, a Raspberry PI by any other name is just a Raspberry PI, which this unit’s design appears to strongly mimic.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 7:51 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I think the inclusion of the 6502 bus makes all the difference - this is a system that you could extend, or could monitor with the expansion port. You'd have all the electrical and timing aspects of that bus, which typically you wouldn't have with say an FPGA or an embedded emulation.

I don't think there's any comparison at all with the Raspberry Pi, except the credit-card size of the board.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 8:02 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
BigEd wrote:
I think the inclusion of the 6502 bus makes all the difference...

Fair enough, although the same could be said using the basic 6502 circuit shown on Garth’s website...which is an all-discrete design.

Quote:
I don't think there's any comparison at all with the Raspberry Pi, except the credit-card size of the board.

What about the opaque “glue logic” (the RP2040)? That looks to me a lot like the same philosophy as the PI’s.

BTW, it appears from the information posted on that site that no firmware has been developed for this unit and that volunteers are being sought to write it. Makes me wonder if the unit’s functionality has yet to be demonstrated.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 8:25 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
BigDumbDinosaur wrote:
From the website posting:

Quote:
This computer must run as fast as possible. People confirm that the W65C02 from WDC can be overclocked up to 16Mhz.

This guy needs to talk to plasmo. :D 16 MHz is nothing for the WDC 65C02.

Quote:
Q: Why not make it with VGA? I have one in the basement.

A: We want Neo6502 to be a MODERN computer, and VGA is 40 years old technology.

Pardon my bluntness, but that is a silly statement.

The 6502 architecture is approaching 50 years of age. There is nothing “modern” about that, eh? What’s “modern” in this unit is the use of hobby-unfriendly technology, e.g., HDMI and USB, as well as the Cortex-M0 RP2040 to act as the glue logic and I/O (the irony is the RP2040 can run circles around a 65C02 in terms of MIPS at any given clock rate).

Also, VGA is hardly dead. All one needs to do is to go into a typical computer room in which a number of servers are attached via a KVM switch to a keyboard, monitor and mouse. The video attachment is typically VGA. VGA also continues to be widely used in video surveillance systems. All of the distributors from whom I source parts stock monitors with VGA ports. Reports of VGA’s death, like that of TIA-232, are greatly exaggerated.

I suppose I see some value to those who are not able to scratch-build their own 6502 contraption. What I don’t see is a whole lot of learning potential in a unit like this. The hardware is too opaque, in my opinion. To steal and mangle a turn of phrase from the Immortal Bard, a Raspberry PI by any other name is just a Raspberry PI, which this unit’s design appears to strongly mimic.


Who doesn't have HDMI these days? I have 3 monitors on my desk right now all have HDMI capability. One is over 12 years old. I plan for my Ruby 65816 board to have HDMI output too. Also USB keyboards. That's one thing they mean by modern. You've probably never been to a "Pi Jam", or maybe a hackspace/makespace/etc. I'm only 60 and I feel old when visiting.... Very old. The target demographic generally isn't us.

Another thing they mean is the development model and user interface - the model is to develop code elsewhere in an IDE of sorts then plug the unit via USB into the computer you're developing the code on and drag and drop the binary into the virtual drive that just popped up - this copies it to the flash of the microcontroller, you reboot it and off it goes. In this case, the idea is that (a section of) the flash is really the ROM in the 65C02 which is the top 32KB minus some IO space. Because the code is really in the flash on the RP2040 it's more or less like a ROM system - turn it on and the 6502 will boot. They (Olimex) are not interested in any sort of OS/Monitor at all on the 65c02. Treat it like an Arduino. You send a big binary blob to it, hit the reset button and off you go. Nothing stopping you writing something like that for it though, but that's not the model. compile C, copy it over, hit the reset button, enjoy.

This drag & drop model is used by many microcontrollers and other systems these days. It may not be universally liked but that's what's happening. It's easy and for the most part works well.

As for the RP2040 - it's not a Raspberry Pi. They are different things but both made by the Raspberry Pi company. Like the Apple II and Apple Mac - different things both made by Apple... They have different programming models (The Pi is self-hosting, the RP2040 requires an external development system) and quite different IO capabilities. The RP2040 has a micro sequencer attached to each IO pin - you can write code that literally runs on the pin. It's quite an interesting approach. that's how they can emulate the 6502 bus, memory, peripherals, etc. in software on the RP2040 in a very transparent way to the 6502. Someone could even write a fixed 6551 for it...

Personally I'm not 100% convinced about this device but it will sell and 1000s will buy it. So like the Ben Eater thing we should welcome them when/if they come knocking here looking for help. Unless they go to facebook first which is where it's mostly being supported.

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Fri Jun 23, 2023 9:12 pm 
Offline
User avatar

Joined: Fri Aug 03, 2018 8:52 am
Posts: 746
Location: Germany
The RP2040 is easily overclocked.
Mine runs stable at 250MHz, so it should be fine to deal with a 16-20MHz 65C02 (kinda disappointed it's not a 65816, wasted potential in my opinion)

anyways... in terms of being a budget hobbyist project, VGA seems like the better choice to me.
exactly because it is so old. VGA hardware and cables are cheap, the signals are easy to generate nowadays (with either discrete or programmable logic), and the resolutions can reach up to 1080p which IMO is more than enough for any retro system.
and with the RP2040's immensely powerful PIO pins, you can easily get a decently sized VGA image from it without either CPUs doing any work at all.

HMDI is also pretty cheap, and all modern TVs and Monitors have connectors for it already built in, so no adpater or old display is required.
but HMDI is a much more modern standard designed around high speed digital signals.
doing 640x480 with VGA requires pushing pixels at 25MHz. with HDMI you have the same pixel clock, 25MHz, but since it's digital you need to send 10 bits of data per pixel meaning you need a shift register running at 250MHz. not something easily done with CPLDs, and even some cheaper FPGAs could struggle with that.
so the only viable choices are:
  • using a fast enough FPGA, or one with an integrated HDMI interface
  • or a discrete video signal controller like the CH7053 (which can also output VGA)
of course if you use a controller you still need additional circuitry to actually feed it data, and depending on the color depth that could also be pretty demanding.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 24, 2023 5:02 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
So what's the point of having a 6502 on the board? The Pi is already emulating everything else; emulating the 6502 CPU as well would be not be a huge addition (though the system might take a minor hit in speed).

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 24, 2023 5:33 am 
Offline
User avatar

Joined: Tue Feb 28, 2023 11:39 pm
Posts: 258
Location: Texas
Proxy wrote:
The RP2040 is easily overclocked.
... with HDMI you have the same pixel clock, 25MHz, but since it's digital you need to send 10 bits of data per pixel meaning you need a shift register running at 250MHz. not something easily done with CPLDs, and even some cheaper FPGAs could struggle with that.
...


That's a lot of shifting, I'm presuming these are raw bits going down the TX lines of the HDMI cable. The FPGA demo board I have is using a ADV7513 which looks like it handles most of that. The FPGA is feeding it 24 bits of color in parallel and the blanking signals.

Certainly I'd probably use a similar such device if I wanted to do HDMI or Display Port video. Don't think I'd stand a chance designing a circuit that works at those speeds.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 24, 2023 7:12 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
A couple of very good reasons to put a 65C02 on the board - one is that it makes the board attractive to rather more people, and another is that you get a real 6502 bus on the connector for experimentation and expansion.

It should be obvious really that different projects have different aims and make different tradeoffs. Here's a design - what are its merits, its attractions, its possibilities.

Much more interesting in this case, I think, to think about what might do with a thing, than to argue over how it might have been a different thing. Especially when it's coming from a place which has previously successfully made and sold products. This particular thing is at present not yet a product, but it probably will be.

Imagine a world where the 6502 forum was full of people who were enthusiastic about new 6502 projects and products!


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 24, 2023 7:37 am 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
cjs wrote:
So what's the point of having a 6502 on the board? The Pi is already emulating everything else; emulating the 6502 CPU as well would be not be a huge addition (though the system might take a minor hit in speed).


There are people who care about the 6502 but they don't care for the surrounding glue. Give me a nice development environment, large monitor, nice keyboard and off I go...

Even my own Ruby system which has real 65816, real 6522, real RAM has artificial ROM, IO, disk, serial leading to HDMI screen and usb keyboard. If I want that real experience I'll fire up my BBC Micro or Apple II or Aim-65 or ... etc. then complain about wrist pain, backache and eye strain later...

So imagine having a "black box" with a real 6502 inside and a modern development system that will allow you to create code in C and assembler, drag and drop the binary into the 6502 and see it run..

I do feel we ought to be concentrating on the 6502 rather than the black box round it.

We know video is hard. Memory mapping anything more than 320x240 uses up so much RAM it starts to leave you with more problems han it solves. So leave that to something else. This project will get more people into the 6502 than Ben Eater and 1000's more than have ever built and developed a system using the information here. Let it happen, then when these new people want more, then we can help them.

Or maybe WE can go out and get one of these boars and port some monitor to it, some self-hosting system to it, make it run BBC Basic, COMAL, BCPL, Wordwise, Visicalc, etc ...



-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 24, 2023 9:46 am 
Offline
User avatar

Joined: Sat Dec 01, 2018 1:53 pm
Posts: 730
Location: Tokyo, Japan
BigEd wrote:
A couple of very good reasons to put a 65C02 on the board - one is that it makes the board attractive to rather more people, and another is that you get a real 6502 bus on the connector for experimentation and expansion.

I was wondering if someone was going to say that.

The Pi is already doing a real 6502 bus: that's how it talks to the CPU. Moving the CPU into the Pi doesn't stop it from continuing to do a real 6502 bus.

drogon wrote:
So imagine having a "black box" with a real 6502 inside and a modern development system that will allow you to create code in C and assembler, drag and drop the binary into the 6502 and see it run.

How would you tell the difference between that and a black box with an emulated 6502 inside?

_________________
Curt J. Sampson - github.com/0cjs


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 31 posts ]  Go to page 1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 14 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: