|
honey the codewitch wrote: Why is this stuff still protected? Because quite a bit of IP law is an ass?
|
|
|
|
|
Real programmers use butterflies
|
|
|
|
|
This reminds of something that happened in the late 1980s. Where I went to college there was a very old mainframe. Several years after graduation some friends decided to write an emulator for it in C, of course. Eventually they got it to work and were able to load and run old programs for it. The amusing part is they ran some performance tests and they found their emulator on an IBM PC-AT with an 80826 ran faster than the actual mainframe did. That PC ran at 5MHz I think. I think the mainframe was a Control Data but I am not sure.
With the speed of today's hardware, your emulator is likely to be faster than those old 6502-based systems.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Isn't that like the Intel 432: It was said that the emulator running on an 8086 was faster than the actual 432 chip.
|
|
|
|
|
I had not read that before and certainly don't doubt it. I think in the end the 432 was more an intellectual exercise than anything else.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|
|
Absolutely, assuming it's not a "modern" 6502 but running at some insane clock speed.
This chip powered the old Apple ][ machines, the original Nintendo, the Commodore 64 and some others. They're very modest in terms of typical performance.
Real programmers use butterflies
|
|
|
|
|
Then switch to the Z80.
AFAIK ZX Spectrum ROMs are not protected any more.
|
|
|
|
|
I have no familiarity with the Z80 processor. I have a lot of familiarity with the 6502. It would be a whole lot of extra work for me to implement the Z80 because of the learning curve.
Real programmers use butterflies
|
|
|
|
|
Z80 assembly is... beautiful.
|
|
|
|
|
A word to the wise: I don't know how you want to go about your project but emulating any of those old processors is a fairly trivial matter. The surrounding hardware is a completely different ball game. In many cases it doesn't even make sense to emulate the video or audio circuitry because you are targeting different devices.
What you can probably do is to take the ROM entry points and treat them as black boxes and reimplement them to fit your system. For C64, I've seen a list of Commodore 64 standard KERNAL functions[^] that can serve as a starting point. There seems to be also a listing of the C64 Kernal that can serve as an inspiration for your implementations.
From a legal point of view, you would be implementing an API. I know that Oracle takes the view that this is an IP infringement but there are many lawyers who disagree with them. At any rate, you are probably a fish too small to fry for any of these big companies (no disrespect intended ).
Mircea
|
|
|
|
|
Don't tell the copyright trolls but I've built an NES emulator in C# before. I understand what you mean by the surrounding hardware. The only tricks with implementing the 6502 is to do cycle counting, handle undocumented opcodes, and duplicate bugs in the original chip, since code expects it.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: Nobody cares about Commodore 64s
I care about the C64... I care...
I was legitimately excited to get (my first) C64, with a good size game collection, and working 1541 disk drive this last Christmas. Now I have a computer several years older than myself (though I don't know who's feeling the age more. We could both use some lubed joints.)
On a serious note, I am surprised those ROMs are still protected. I guess, with the community that revolves around both, I expected little barriers to doing whatever with the hardware/software.
|
|
|
|
|
The Codewitch known as Honey need an old Apple ][ or Commodore 64 ROM Commodore loved those chips; you can find them in the Pet, Vic 20, as well as the their 1541 floppy drives
GM used a lot in their fuel injection systems also- the Cross-Fire setup from the 82-84 Corvette, Camaro, and Firebird used 3 to manage everything
Director of Transmogrification Services
Shinobi of Query Language
Master of Yoda Conditional
|
|
|
|
|
MadMyche wrote: GM used a lot in their fuel injection systems also- the Cross-Fire setup from the 82-84 Corvette, Camaro, and Firebird used 3 to manage everything
Wow, I did not know that. Cool, as I'm interested in ECU tech and have a good working familiarity with the 6502. A match made in heaven. I love this little chip.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: Nobody cares about Commodore 64s
Don't be so sure.
RetroGames has been selling a C64 Mini for the last couple of years (modeled after the NES-Mini and SNES-Mini--Nintendo really started something)...and I guess it's been successful enough they started making a full-sized version late last year. I don't believe they own the Commodore trademark, so they've been very carefully avoiding branding it as such. I have no idea what sort of agreement they might have (or not) with whoever owns the name these days (it's been passed around quite a bit), but one thing's for sure, it's not abandoned technology and people are still making money off of it.
That's why some of these things are still protected IP. As long as there's a buck to be made...
|
|
|
|
|
I picked up one of the minis shortly after release, for no real reason beyond it being a shelf piece. It has been a neat way to experience games from the time, though.
|
|
|
|
|
Same. I was never a fan of Nintendo, but when they came out with the mini, I had to get one. Then the SNES. Then the C64 Mini.
I'm tempted to get the full-sized one, but given how little I use the mini, I don't really see it being all that worthwhile.
|
|
|
|
|
Fair enough.
Real programmers use butterflies
|
|
|
|
|
Try compukit.org[^] Images for the BASIC rom (4 separate ROM chips, 8Kb in total). Other info on those pages should help you with keyboard interrupts and screen output etc.
I built a UK101 in October '79. The base spec was 4Kb RAM, 1Mhz, 64x16 display. Some investigation of the circuits, a little judicious use of a sharp knife and a few extra wires, and I double the RAM, doubled the clock speed, doubled screen RAM and changed display circuitry to give 64x32 display, quadrupled the cassette tape baud rate, and added a 4-channel sound generator. Not too bad for my first electronics project!
|
|
|
|
|
Thanks, and cool. I love bit twiddling and hardware hacking. =)
Real programmers use butterflies
|
|
|
|
|
That there's these moments where I switch from me to "idiot". And that it happens in seconds. Given my recent behaviour I can't dismiss that, but been told I always was like that. (With "always" being >15 years, more than CP membership).
Is that true?
Be honest, instead of friendly. Got enough people being friendly and supportive; I need some blunt answers. Someone who doesn't care if possible.
I'm a bloody loudmouth on this site; it may reflect on CodeProject. If I reflect badly on the site, then I should react a lot less. CodeProject has helped me forward, and I don't want to damage it.
I don't think I'm "crazy". I feel the same as I always did. I like to think I react on CP as I always did. There's a question, and you give a rational answer, with some arguments to back that up.
Whatever your reaction, I won't hold it against you (this thread only). If there is a problem, I need to confront it. So, react, honestly and without reserves. If you pissed at me, you're excused, if you explain what and why. I won't be angry at any response.
Tell me honestly; is my perception that way off from reality? How much damage have I done?
Honestly, and don't hold back. Feel free to spout. I'll vote you up for it.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
FWIW I haven't noticed.
Real programmers use butterflies
|
|
|
|
|
Well, hard to notice a crazy person in a crazy world, innit?
How much of us are "sane"? Most of us aren't, that's why we chose this profession.r
Still the question remains; did I cross the line?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I haven't noticed you cross any lines. I don't read everything here though. You certainly don't strike me as making a habit of it in any case.
Real programmers use butterflies
|
|
|
|
|
I don't think you're crazy or an idiot.
But you see your own weakness rather clearly: that you can get loudmouthed. There are certain subjects that you have strong opinions about, and when they arise and someone has an opinion that you disagree with, you can get rude. I think that's the only thing you should watch out for.
We sometimes share the same attitude: when I'm right, I don't care about your opinion.
|
|
|
|