| |
Flavioweb
Registered: Nov 2011 Posts: 463 |
Arduino-based 1541 emulator. Possible?
Talking about Arduino with an hw-hacker father of a friend, i started to thinking about on how to build a full-compatible 1541 clone (6510, cia, ram, etc...) using Arduino hw.
I found this 6502 emulator:
http://www.df.lth.se/~richard/6502emu2.pde
May be possible to build a full sd card reader fully 1541 compatible (for low level drive programming)? |
|
... 28 posts hidden. Click here to view all posts.... |
| |
Moloch
Registered: Jan 2002 Posts: 2928 |
Quote: Quoting Groepazif you just want to hear that it can be done, easily - ask jim drew on lemon =)
Trying to ignore that guy, he uses to claim having done all sorts of drive feats but _always_ fails to deliver code or details, taking forever to find lost source codes etc.
yes, thats the reason groepaz left that smiley :D
that guy can't be believed for anything |
| |
Radiant
Registered: Sep 2004 Posts: 639 |
Would it be possible on a Raspberry Pi? |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
The problem with bigger systems like the Raspberry Pi is that you have to jump through a few hoops to get reliable real-time behaviour. The main issues are the cache and variable timing due to DRAM access. The ARM CPUs used though should have scratchpad memory in the order of 32 or so kB for fast deterministic access. Might be possible, but it won't be easy. There might be more surprises on the GPIO path. Good idea though to suggest Raspberry Pi. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
and i must repeat myself: you need interface to C64. usb/par port, else forget this! |
| |
WVL
Registered: Mar 2002 Posts: 902 |
The new beaglebone would probably be better, but realtime stuff will still be a problem...
Better stick to a combination of an AVR/Atmel/whatever cpu for high-level non-realtime stuff and an FPGA for the realtime hardware emulation imho.. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
just wait for jim to prove you wrong, all of you! |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: and i must repeat myself: you need interface to C64. usb/par port, else forget this!
Most (all) embedded platforms have GPIOs, you need 3 (data, clk, atn) + some buffers and level converters. Now drop it, compared to timing problems HW interfacing is nothing. |
| |
CreaMD
Registered: Dec 2001 Posts: 3057 |
So if I get it right, for emulation you need precisely definable logic with exact controllable timing at all times. And this is the reason why 1541 emulation was never mad on PC, because there is no possibility to have 100% control over timing, even when booting into dos (coz every machine ha different specs and speeds of ram.. and various idiotic processor hacks for instruction fetching and all that crap.
hm? |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
You can do it on x86. With fast enough CPU and an RTOS guaranteeing CPU time etc. Or by doing your stuff in DOS/BIOS and disable instruction and memory caches to get complete control over timing. Fast enough CPU using a high precision timer would suffice. But in a "normal" OS environment like Windows, Linux or Mac OS the timing will be too jittery. You might be able to do it by scheduling a timer interrupt at a really high priority as a kernel driver/module. |
| |
CreaMD
Registered: Dec 2001 Posts: 3057 |
Jackasser.. thanx. |
Previous - 1 | 2 | 3 | 4 - Next |