Welcome, Guest. Please login or register.

Author Topic: Individual Computers Announces Clone-A Project  (Read 10975 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Schoenfeld

  • Full Member
  • ***
  • Join Date: Mar 2004
  • Posts: 175
    • Show all replies
    • http://icomp.de
Re: Individual Computers Announces Clone-A Project
« on: October 12, 2006, 11:00:12 PM »
Thanks everyone for the thumbs-up. First of all, I'd like to point out that it's not *my* project, but Oliver's *and* my project. Of course I'm paying him, but there's no reason to call Clone-A my own project. Further, there's no way to tell who did how much work on the project. We're a team, and what you will be able to purchase sometime in the future is teamwork.

You will have the chance to get to know Oliver at Amiwest next week - we'll both be there.

@Dennis:
Sorry if it looked like I mentioned UAE as your *main* source. Of course I know that you had a combination of all those sources, and like I said, I don't think that this is a bad move. We just chose to do it differently, because we expect our implementation to be more accurate that way.

@all:
Dennis and I have already exchanged a few ideas at the Codex Alpe Adria in Italy this summer. The fact that Oliver's and my approach will most probably produce a smaller design (better-suited for implementing on a single custom chip) was actually pointed out by Dennis.

We're not competitors - we will work together like you would expect members of the Amiga community to do it. As soon as my ITX board is out, I will open up enough documentation for everyone (including Dennis) to port the Minimig source to the Clone-A board. That way, Minimig will have a platform to run on, and everyone will have the chance to compare two Amiga-Clones on the same mainboard. I'm actually happy that Dennis is too busy to publish the sources of his Minimig, because it clearly shows that my (obviously commercial) approach was not influenced by his source.

Jens Schönfeld
 

Offline Schoenfeld

  • Full Member
  • ***
  • Join Date: Mar 2004
  • Posts: 175
    • Show all replies
    • http://icomp.de
Re: Individual Computers Announces Clone-A Project
« Reply #1 on: October 16, 2006, 11:49:22 AM »
Interesting to see how Schoenfeld-bashing goes on here.

Jen-SS: You're ignoring various facts:

- first of all, please consider writing my name correctly. Single d at the end, not dt.

- it's not three full-time programmers, but two hardware developers on the project - both only part-time.

- Dennis pointed out himself that my approach will produce a smaller design.

- Dennis and I are not competitors. I will even provide hardware for his core to run on. Why didn't anybody read that comment?

- I haven't "copied Dennis' effort". Dennis announced his project early december 2005, where Clone-A was already in the making

Some people might care less about inter-chip-communication. I do care a lot, because it tells me so much about the way the chips work. Being able to communicate with the original chips means that I'm on the right path. This approach leaves no room for errors, where the "could care less" approach leaves freedom for interpretation.

It's also funny to see how many people all of a sudden become hardware experts, just because hardware can be "produced" by writing Verilog code. Let me tell you that this is not the case. You're not becoming a C programmer because you can do a "hello world" in C. Therefore, please take the time to *technically* understand the following (and if you continue bashing, I take it that you're not interested in the truth):

If you're doing your own design and afterwards tweak it to be cycle-accurate, you will most probably end up with a bloated design, so in a way, you're right. Take the example of the "miracle two pixel delay" in Denise that the emulator programmers found out about. If you're doing it cycle-accurate, you have to add a 2-bit delay, which will cost you chip space and routing space.
The trick is to find out what Denise is *really* doing during this 2-cycle delay - apart from delaying. The question "why not output the data when it's already known" must be re-phrased to "why is data not yet ready to be sent to the outputs" - that's why Clone-A will not only use less FPGA space, but also be more compatible by design.

Other things are even Verilog-related. If for example a 10-bit counter value must be compared, you compare the 10-bit value and the counter with a simple expression in the code. No matter how good the compiler and optimizer is, it will always produce a 10-bit comparator, which is correct.

However, on a hardware level, you can reduce things to a minimum if you take other knowledge into account. Let's assume the counter is the horizontal line counter (x-coordinate), and want to generate a signal that (dis-)allows sprite DMA at positions 20 and 772. The Verilog code would be absolutely simple about this, as it's two 10-bit comparators. My approach to the thing is to only compare single bits in order to save FPGA space:
I know that the counter is only counting up, so the number 20 is the first where bits 4 and 2 are set at the same time. My first comparator is only 2 bits instead of 10. That same knowledge used on the number 772: It's the first numer (when counting up) where bits 9,8 and 2 are set at the same time. This comparator is 3 bits wide, so I'm using 5 comparator-inputs where a correct Verilog-implementation would use 20. Saved 75% in this example, which is NOT representative.

I am all for your claim to have people make up their own mind about things. In turn, you should feed them with the correct information, and not just with your way to see the world. If you don't have *all* the information, you know nothing. I explained it on a hardware-level above, but you can also hear it on the radio if you take the song by the Scissor sisters:

I don't feel like dancin'

is a totally different line compared to

I don't feel like dancin' without you.


Jens Schönfeld
 

Offline Schoenfeld

  • Full Member
  • ***
  • Join Date: Mar 2004
  • Posts: 175
    • Show all replies
    • http://icomp.de
Re: Individual Computers Announces Clone-A Project
« Reply #2 on: October 16, 2006, 06:08:15 PM »
The 68K in an FPGA is necessary to have an Amiga-on-a-chip. Buying the processor is not an option if you're making it a toy - that would be too expensive. Having the processor in the same chip will save a ton of money.

If you want somebody to spend a seven-digit amount on this project, you have to have something really convincing. The Amiga chipset itself, including memory, might be about as much as a 68000 CPU that you're buying from Freescale, and still, it would not be cycle-accurate: The 68HC000 has slightly different timings than the original 68000 processor on a few instructions. Some games don't like that, they require the exact amount of cycles.

Having the 68K CPU inside the chip has advantages that are geared towards getting risk capital:

- less hardware cost
- less problems in getting the hardware (only one manufacturer of silicon)
- less money to spend on patching games (that is: no money!)

For all of you who want to hack into the machine: The 68K processor can always be switched off. How many of you have an A2000 with an accelerator? In that case, the 68000 is sitting there, gathering dust. It doesn't hurt, but for an investor, it's a huge plus.

Some people asked if re-implementing the 68K would violate any patents. It would not, because it's running in my own microcode engine. There's a software layer in between that emulates the 68K. The microcode engine is geared towards cycle-exact emulation - most instructions must be slowed down for the processor to be cycle-accurate. I could also do an emulation layer for x86 instructions, although this would not make any sense.

The best comparison would be the early-startup CPU of the C-One: It executes Z80 code, and it can jump into 6502 subroutines. The same idea is in the works for the 68000 CPU, just on a larger scale (32 bits instead of 8 bits).


Jens Schönfeld
 

Offline Schoenfeld

  • Full Member
  • ***
  • Join Date: Mar 2004
  • Posts: 175
    • Show all replies
    • http://icomp.de
Re: Individual Computers Announces Clone-A Project
« Reply #3 on: October 17, 2006, 09:48:12 AM »
Sander:

You demand to be polite to each other, yet you're claiming that I'm telling "stories" about the 68HC000 processor having different timing compared to the NMOS 68000.

I will *not* elaborate on the details, as this would give others valuable hints on where to debug their designs. You're free to get back to me with a request for a program that runs on a real Amiga and on Clone-A, but not on an Amiga that uses the 68HC000. Clone-A will be demonstrated at more shows, and you'll surely be at one of them, right?

The real world is different from what datasheets promise. If a datasheet is talking about "same timing", it probably talks about the same bus timing. I won't question that, but if you're talking about timing in computer terms, it's like you're talking screws in cars. A Mercedes will surely use the same screw as a Volkswagen in some spot, but it still does not make them the same. You have to specify *what* screw, which also applies to "timing" in computer terms: Bus timing? Instruction timing? IRQ timing? I was talking about the number of cycles that an instruction takes, and there's a difference on the HC000 that the datasheet does not cover. Hardly anyone will notice, and if one will and reports the error to Freescale, they will ignore it. I have written extensive eMails to Freescale because I found a bad error in the 68030 manual, but they're all unanswered as of today.

Patents: I did that research in 2002 before I started putting money into the C-One. Laws have not changed since then. The 68000 is a microcode engine, and it's known what's in there: Patented code is public as you may know. However, that microcode engine is totally different from mine, the patented code does not even run on my engine. This is nothing I can demonstrate yet, but again, you seem to be the kind of guy who does not forget, so please get back to me when I'm ready to prove what I'm claiming here.

You're saying that everyone should make up their own mind, yet, you're quoting a single source and claim that it's the truth. You're right that it's the vendor (or at least the company that came after), but this also shows that you have never worked with datasheets to an extent where you encounter errors in the documentation. At the risk of repeating myself: If you don't know all the details, you know nothing.
It's fairly common that chips don't exactly behave the way you'd expect them to behave if you read the datasheet. I started learning about that when I made my first commercial design (the Graffiti), and it continues through all my other designs.

Speaking of experience, I have no idea who I am talking to. Let us know what designs you have done so far, or if you're the Wildstar-kind-of-guy that likes to talk BS to keep others talking. So far, we've seen nice rhetoric and only technical half-truths from you.

The rhetorics remind me of a teacher from California who has too much spare time... No insult, I'm just trying to find out who you are because you claim we met in Maarssen.

Jens Schönfeld
 

Offline Schoenfeld

  • Full Member
  • ***
  • Join Date: Mar 2004
  • Posts: 175
    • Show all replies
    • http://icomp.de
Re: Individual Computers Announces Clone-A Project
« Reply #4 on: October 17, 2006, 01:17:11 PM »
Dr_Righteous:

I will not make a drop-in chipset for old boards. The small boards are only for debugging the design. The fact that they're sitting in an A500 does not imply that I'll be making an A500-like machine. The chipset of the Amiga has been (almost) the same from A1000 to A3000, and like I said in the interview, the step to AGA is almost none.

Increasing performance would also mean to use faster memory chips. Most A500+ models have 60 to 70ns memory, so a double-CAS access seems possible, but that will not be enough to do AGA. You'd have to replace all chips and make a new data path towards the accelerator. That's actually more than a new mainboard, so we better forget about that.

Jens Schönfeld