Change of product direction, good and bad news!

Announcements by the development team or forum staff.
Locked
Scott Robison
Posts: 952
Joined: Fri Mar 19, 2021 9:06 pm

Change of product direction, good and bad news!

Post by Scott Robison »



9 minutes ago, BruceMcF said:




Yes, the reason that there is a technical distinction is not because one is good and the other is bad, but because they are different ways to replicate the functioning of existing hardware with different strengths and weaknesses.



Of course, just as emulation is not the only thing software can do, simulation is not the only thing that SPLDs / CPLDs / FPGAs can do ... in the case of Vera, it is implementing an all-new linebuffer VGA display.



Yes, the argument against that thought is that the FPGA is emulating the future yet to be implemented ASIC that implements that same functionality. Really? How do I emulate something that doesn't even exist and has never existed? #lesigh Wouldn't it be more accurate if you're going to insist on that definition that whatever follows is the emulation? At least then there is some logical internal consistency to the argument.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Change of product direction, good and bad news!

Post by BruceMcF »



4 hours ago, Tatwi said:




I think another important consideration is that we live in what is essentially the science fiction future of the 1970s and 1980s, where people have computerized high resolution graphical tablets that they carry around with them everywhere. At the bear minimum this means that it's possible to take the amazing VIC20 printed manual and turn it into a fully functional, interactive 2D/3D representation (in the form of an HTML5 website) of the VIC20 hardware and software that works not only on one of those nifty graphical tablets, but on literal millions of other devices too, from cheap Chromebooks to million dollar workstations.



In short, the X8 and X16 do not exist in a vacuum and I think it is kind of silly to pretend that they do.



For those who do not wish to assemble a full sized X16 kit, the only difference between an entirely FPGA version and one made with discreet components is the physical size of the circuit boards. Otherwise the machines are functionally identical. In today's day and age, where a manual can so detailed as to be a complete virtualized replica, if you're not interested in the kit aspect (and you lack the electronics lab to maintain and troubleshoot said kit), then it doesn't really matter what's on the physical circuit board.



That would be "the only functional difference" rather than "the only difference" ... the difference between having an ASIC 65C02 and having a (correctly implemented) 65C02 soft core is a mostly non-functional difference, similar to the difference between having a Nike swoosh sewed onto shoes with Nike's approval and without Nike's approval.

But in this context, there is a quite substantial difference, in that the mooted X16c would likely have one or two slots compatible with the slots for the X16p, and since the slot brings out enough 65C02 lines to allow bus mastering cards, it would allow a bus mastering 65816 card (or Z80, 6809 or 68K, if anyone wishes to make one), and the X16e concept (which might not ever be made if the X8 path is taken) was not going to have a slot.

TomXP411
Posts: 1782
Joined: Tue May 19, 2020 8:49 pm

Change of product direction, good and bad news!

Post by TomXP411 »



26 minutes ago, Scott Robison said:




Yes, the argument against that thought is that the FPGA is emulating the future yet to be implemented ASIC that implements that same functionality. Really? How do I emulate something that doesn't even exist and has never existed? #lesigh Wouldn't it be more accurate if you're going to insist on that definition that whatever follows is the emulation? At least then there is some logical internal consistency to the argument.



You're on the right track with that thought.

The common phrase is: "software is emulation. FPGA is implementation."

Simply put, an FPGA is a set of logic gates that can be configured to any arbitrary configuration. A CPU is a series of logic gates configured to a specific configuration. In fact, early mainframe CPUs were also similarly configurable. This is where the term "microcode" comes from: the CPU was not a hard-coded device, like a modern MCPU, but was actually a series of components that ran a program that then ran the computer's machine language instruction set. 

We get into splitting of hairs when talking about "simulation" vs "emulation", but the answer there is very simple: the words mean the same thing. The difference is only the context: we more often talk about simulation when discussing physical things and emulation when talking about computers (ie: NES emulator), but the simple fact is that an NES emulator is also an NES simulator. A flight simulator is also an airplane emulator. The two words are interchangeable and differ only in nuance, not in meaning. 

So is an FPGA an "emulator"? No. While it can be used as an emulator, such as when building a core that replicates an existing system, but that's not an "emulator" any more than the Laser 128 is an Apple Emulator. No, we call the Laser 128 an Apple "clone", because it's a hardware implementation of the Apple IIe specification. By the same token, an FPGA is an implementation using programmable logic, rather than fixed logic.

 

 

 

TomXP411
Posts: 1782
Joined: Tue May 19, 2020 8:49 pm

Change of product direction, good and bad news!

Post by TomXP411 »



12 minutes ago, BruceMcF said:




That would be "the only functional difference" rather than "the only difference" ... the difference between having an ASIC 65C02 and having a (correctly implemented) 65C02 soft core is a mostly non-functional difference, similar to the difference between having a Nike swoosh sewed onto shoes with Nike's approval and without Nike's approval.



But in this context, there is a quite substantial difference, in that the mooted X16c would likely have one or two slots compatible with the slots for the X16p, and since the slot brings out enough 65C02 lines to allow bus mastering cards, it would allow a bus mastering 65816 card (or Z80, 6809 or 68K, if anyone wishes to make one), and the X16e concept (which might not ever be made if the X8 path is taken) was not going to have a slot.



That's not due to the FPGA, though. That's entirely due to size considerations. There's no reason the team could not build an FPGA Commander X16 with an expansion bus - just replacing the 6502, CIAs, and logic chips with a single, large FPGA.

Scott Robison
Posts: 952
Joined: Fri Mar 19, 2021 9:06 pm

Change of product direction, good and bad news!

Post by Scott Robison »



34 minutes ago, TomXP411 said:




So is an FPGA an "emulator"? No. While it can be used as an emulator, such as when building a core that replicates an existing system, but that's not an "emulator" any more than the Laser 128 is an Apple Emulator. No, we call the Laser 128 an Apple "clone", because it's a hardware implementation of the Apple IIe specification. By the same token, an FPGA implantation is not an implementation: it's simply an implementation using programmable logic, rather than fixed logic. Some folks perhaps don't understand the distinction between an FPGA and a microcontroller, but that's another conversation. 



Thank you for this. Clone is the word I've neglected to use. I'll try to remember it should the conversation continue after my most recent post about pedantry.

Naturally, *I* am never pedantic. When it seems like I am it is a misunderstanding because the information I'm sharing is valuable. When other people think they're sharing valuable information, they are sometimes being pedantic. I learned this at talk radio host school. ?

Edit: Yet Another Typoh.

TomXP411
Posts: 1782
Joined: Tue May 19, 2020 8:49 pm

Change of product direction, good and bad news!

Post by TomXP411 »



1 minute ago, Scott Robison said:




Thank you for this. Clone is the word I've neglected to use. I'll try to remember it should the conversation continue after my most recent post about pedantry.



Naturally, *I* am never pedantic. When it seems like I am it is a misunderstanding because the information I'm sharing is valuable. When other people think they're sharing valuable information, they are sometimes being pedantic. I learned at that talk radio host school. ?



Now who's splitting hairs?  ?

Scott Robison
Posts: 952
Joined: Fri Mar 19, 2021 9:06 pm

Change of product direction, good and bad news!

Post by Scott Robison »



1 minute ago, TomXP411 said:




Now who's splitting hairs?  ?



Splitting hairs, being self deprecating ... tomayto, tomahto. ?

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Change of product direction, good and bad news!

Post by BruceMcF »



24 minutes ago, TomXP411 said:




That's not due to the FPGA, though. That's entirely due to size considerations. There's no reason the team could not build an FPGA Commander X16 with an expansion bus - just replacing the 6502, CIAs, and logic chips with a single, large FPGA.



This is similar to the "no difference" vs "no functional difference".

There is no technical reason that they couldn't do that, but that doesn't guarantee that they could actually do it ... the issues involve market demand and economies of scale considerations.

VIC-2020
Posts: 5
Joined: Sat Jul 04, 2020 6:22 pm

Change of product direction, good and bad news!

Post by VIC-2020 »



9 hours ago, Starsickle said:




Oh man - how can I not take this as personal?



No offense intended, and certainly not in any way personal. Your comment is not the only one in this long thread to imply that the X8 is emulation on a Pi, when it clearly is stated by T8BG to be FPGA.

paulscottrobson
Posts: 305
Joined: Tue Sep 22, 2020 6:43 pm

Change of product direction, good and bad news!

Post by paulscottrobson »



6 hours ago, Scott Robison said:




Now, to be fair to them, their point was that emulation is often used in a pejorative sense and that it isn't a dirty word and that calling FPGA emulation isn't meant as a bad thing. My point was "you can have good and bad software emulation, and you can have good and bad FPGA implementations; the difference is not the tools, it is the craftsman using the tools; regardless, words and more than the sum of their dictionary definitions, and quality software emulation is sufficiently different than quality FPGA 'emulation' that they deserve different words to describe them".



Often you have to make choices. Resource limitations force poorer quality emulation. The CX16 itself has the problem that it has hardware based sprite collision detection, which is easy enough in electronics but a complete pain in the neck in code if you want bit level accuracy. I don't think the emulator does it, it certainly didn't. There is a case to be made for removing it for precisely this reason.

Backwards to this is the X8 Window, which is not difficult in FPGA but would be a swine to do in logic.

Locked