Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 15:57 05 May 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Accessing Address/Data lines

Author Message
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 05:42pm 25 Jun 2013
Copy link to clipboard 
Print this post

With the popularity of SD storage to replace old worn out drives on old computers, I was wondering if it would be possible to use the Maximite, interfaced to the data lines of the floppy drive connected to an old computer.

Would the Maximite be able to read 8 data lines fast enough and process the data as if it were going to a real floppy drive?

Or interfacing directly to the bus of an old computer and the Maximite appear like an interface card (or something) to the main computer.

Would a new MMBASIC command to read multiple I/O pins fast and present the collected data as an 8/16 bit byte plus control lines, be needed?

Nick
 
James_From_Canb

Senior Member

Joined: 19/06/2011
Location: Australia
Posts: 265
Posted: 05:55pm 25 Jun 2013
Copy link to clipboard 
Print this post

Nick,

I recall earlier posts about people with collections of old floppies and nothing to read them with. They came from Microbees and C64s etc, not just PCs. I think it would be a popular project.

James
My mind is aglow with whirling, transient nodes of thought careening through a cosmic vapor of invention.

Hedley Lamarr, Blazing Saddles (1974)
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 06:30pm 25 Jun 2013
Copy link to clipboard 
Print this post

I'm not aqctually trying to read the old floppy disks.

There are disk images of most old software for emulators. I just thought that these could be copied to the SD and the Maximite appear as a floppy disk drive to the old computer but in actual fact it is accessing the SD images.

Also, If the Maximite could be made to act like an expansion device to this computer. It would think it's talking to som device connected to it's bus but in actual fact, the Maximite is acting as that device.

Nick
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 11:24pm 25 Jun 2013
Copy link to clipboard 
Print this post

I think you would need to do that on a lower level to get the speeds needed.
However MMBasic is pretty quick when compared to old computer so it might be within the capabilities.
Floppy drive interfaces have CS lines and interrupts. Would actually be easy to connect, the software to simulate however is quit some work.

If i would tackle this problem i would take a PIC with 128K memory , indeed a SD card that contain floppy images. Add a lcd with some buttons to allow the user to 'change' the floppy. Copy that whole image in the PICs memory and work from there.
Add an I2c/SPI/Uart/Parallel (most already on board a mcu as a peripheral) interface and you have a generic Floppy Simulator that can connect to any mcu or computer.
Edited by TZAdvantage 2013-06-27
Microblocks. Build with logic.
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1083
Posted: 11:50am 26 Jun 2013
Copy link to clipboard 
Print this post

I'm going to go with "No way, the Maximite is way too slow." I would tend to think that the PIC32 itself is likely too slow too. Devices I've seen to interface IDE drives, compact flash cards and USB thumb drives to classic computers rely on various types of programmable logic devices to get the needed speed. (Example for Apple // )

Could the PMP peripheral in the PIC32 function to sniff the old disk drive interface and catch the necessary signals? I have my doubts.
Visit Vegipete's *Mite Library for cool programs.
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3663
Posted: 12:22pm 26 Jun 2013
Copy link to clipboard 
Print this post

It looks to be 250Kbps or 500Kbps, so a PIC32 should keep up but not if you write in interpreted Basic.

This looks useful:
http://www.interfacebus.com/PC_Floppy_Drive_PinOut.html

John
 
djuqa

Guru

Joined: 23/11/2011
Location: Australia
Posts: 447
Posted: 12:33pm 26 Jun 2013
Copy link to clipboard 
Print this post

  Nick said   I'm not actually trying to read the old floppy disks.

There are disk images of most old software for emulators. I just thought that these could be copied to the SD and the Maximite appear as a floppy disk drive to the old computer but in actual fact it is accessing the SD images.

Also, If the Maximite could be made to act like an expansion device to this computer. It would think it's talking to som device connected to it's bus but in actual fact, the Maximite is acting as that device.

Nick

My view, is yes it not only could be done but would be a great idea.
To all the naysayers
The PIC32 running MMbasic could easily do the disk image serving.

Acting as a smart peripheral it may need to be running Assembly, but has more than enough capability.
You all forget that the PIC32 was designed by microchip to be a MICROCONTROLLER for exactly these type of usage, it is a bonus that it can also be used in a MaxiMite.


Edited by djuqa 2013-06-27
VK4MU MicroController Units

 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 12:53pm 26 Jun 2013
Copy link to clipboard 
Print this post

I think it would be much funnier if someone got the time to take one of the open source Apple ][ emulators and port it to the Maximite's hardware configuration. That would be really something, but needs a lot of spare time...
80Mhz versus 1Mhz - should be sufficient speed in the micro.
http://rittle.org

--------------
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 03:37pm 26 Jun 2013
Copy link to clipboard 
Print this post

I wonder if an MMBASIC command could be created to read the I/O pins into an 8 bit data value read from an 8 bit bus?

It could be a command such as PORT

and we could have at least 2 of them as PORT A and PORT B

Each would be assigned a set of I/O pins...

PORT A assigned to pins 0 to 7
PORT B assigned to pins 8 to 15
etc.

Therefore

A=PORT A

Would get an 8 bit data address value.

Combine ports for 16 bit.

It's then just a matter of creating the appropriate adaptor cable between the Maximite I/O ports and the device.

... and software to use the data or emulate a real device.

Nick
 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 04:13pm 26 Jun 2013
Copy link to clipboard 
Print this post

PORT A, PORT B, etc. I think can't happen since the actual ports do not utilise the MCU hardware ports in a sequential way.
But a y = PORT(x) function, returning to 'y' all the 20 lines (whichever of them set as input, the rest will be 0), all at once as a single integer and setting the outputs, according to the bit values of 'x'.
That is easily possible and I will include it in the next revision of MMBasic for the 4105 module. If Geoff decides to include it in the standard version, that would be even better. It will be a useful one, especially in embedded systems
Edited by kiiid 2013-06-28
http://rittle.org

--------------
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 04:38pm 26 Jun 2013
Copy link to clipboard 
Print this post

Wow. That would be good if it worked fast enough.

I wonder if it's possible to do a test to see if it's possible to "memory map" the Maximite to another system such as a TRS-80/Apple II/Microbee etc.

Nick
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2870
Posted: 05:42pm 26 Jun 2013
Copy link to clipboard 
Print this post

Hi Nic,

If I read you correctly I think you are looking at getting the MM to become a Floppy Emulator.

If so, maybe one of these Floppy Disk Emulators will do the job for you.

I bought one for work and it uses a USB flash drive as the storage upto 1000 partitions (ie different disk) at 1.4MB size... I think it had jumper options for 360kb 720kb 1.44MB etc...

I will look it up and let you know... Not sure its is the identical one that I linked to but it looks like it

Regards,

Mick

Edited by bigmik 2013-06-28
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 05:53pm 26 Jun 2013
Copy link to clipboard 
Print this post

  kiiid said   PORT A, PORT B, etc. I think can't happen since the actual ports do not utilise the MCU hardware ports in a sequential way.
But a y = PORT(x) function, returning to 'y' all the 20 lines (whichever of them set as input, the rest will be 0), all at once as a single integer and setting the outputs, according to the bit values of 'x'.
That is easily possible and I will include it in the next revision of MMBasic for the 4105 module. If Geoff decides to include it in the standard version, that would be even better. It will be a useful one, especially in embedded systems

That is already in MMBasic - check out the PORT command and function.
Geoff Graham - http://geoffg.net
 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 06:33pm 26 Jun 2013
Copy link to clipboard 
Print this post

Aah... Guilty
There are so many of them already...
But that's great anyway and saves the work for adding it :)Edited by kiiid 2013-06-28
http://rittle.org

--------------
 
Juri74

Senior Member

Joined: 06/02/2012
Location: Italy
Posts: 162
Posted: 10:48pm 26 Jun 2013
Copy link to clipboard 
Print this post

there are a lot of interfaces that "emulate" specific drives for specific computers:
IEC2SD or 1541 Ultimate for c64/c128 SIO2SD for atari 8bit computers

for a lot of 16 bit computers (including atari amiga & pc) you may have a look at this

http://hxc2001.free.fr/floppy_drive_emulator/index.html#SDCA RDFloppyemulator

it use a 40Mhz PIC18F4620 to do the entire work..

Juri
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3663
Posted: 12:31am 27 Jun 2013
Copy link to clipboard 
Print this post

Easy for a PIC32, then!

John
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024