Jump to content
IGNORED

Anyone tried hooking up a modern "microcontroller" to an Atari?


Recommended Posts

3 hours ago, _The Doctor__ said:

I really wish the forum would let sh*t get corrected for a longer duration, but that's only for paying members or admin/moderator requests to alter a post, when it's seen or gotten to.

This attitude is not helpful at all. The reason you can only edit posts for a short period of time is because people were abusing the feature in multiple ways, so it had to be restricted. Trust me, I would have preferred not having to do that. 
 

  ..Al

  • Like 1
Link to comment
Share on other sites

Since a print spooler board was mentioned, I decided to add an SRAM chip and a 74F174 to my firmware board.  Here's the schematic that I came up with.  Most of the board is now proven.  I am posting this schematic in hopes it will help with further 1090 board development.

 

The Decoder chip is fairly self-explanatory as there are only 4 lines of code in the chip that programs the chip to provide the proper outputs.  The 2 output pulses provide the rising edge for the clock signals.Firmware Board.kicad_pcb

 

The MMU chip can be customized for the purpose envisioned.  The MMU chip would also have to be programmed to provide the WE signal for the SRAM chip.  Using the MMU chip, for this purpose, saved having to install yet another chip.

 

With a properly programmed MMU chip, the SRAM chip could be set active in the DC00-DFFF range and provide 64 banks of 1k.  With the right firmware I believe this would provide for a 64k print spooler.  The spooler code would have to create it's own printer driver.  Most of the printer driver could reside in the firmware.

 

The schematic is in KiCad 6 and is mis-labeled as a "firmware board" because that's the board I started out with.  There is no board schematic for this board yet.

 

Edit:

 

Here's the Decoder code:

 

Name       1090 Firware Board Decoder;
Partno     NA;
Date       01/28/2023;
Revision   00;
Designer   Brian Reifsnyder;
Company    N/A;
Assembly   1090 Firmware Board;
Location   U21;
Device     g16v8as;

/******************************************************************/
/*    1090 Firmware Board Address Decoder                         */
/*                                                                */
/*                                                                */
/******************************************************************/
/*  Allowable Target Device Types: ATF16V8                        */
/******************************************************************/

/**  Inputs  **/
Pin  01      = PHI2S        ; /* Short Phi2                */
Pin  02      = A0           ; /* address bit 0             */
Pin  03      = A1           ; /* address bit 1             */
Pin  04      = A2           ; /* address bit 2             */
Pin  05      = A3           ; /* address bit 3             */
Pin  06      = A4           ; /* address bit 4             */
Pin  07      = A5           ; /* address bit 5             */
Pin  08      = A6           ; /* address bit 6             */
Pin  09      = A7           ; /* address bit 7             */
Pin  11      = RW           ; /* Read/Write                */
Pin  12      = DENB         ; /* Device Enabled            */
Pin  17      = x8xx         ; /* x8xx                      */
Pin  18      = x1xx         ; /* x1xx                      */
Pin  19      = Dxxx         ; /* Dxxx                      */

/**  Outputs  **/

Pin  13      = D1xx      ; /* D1xx region active        */
Pin  14      = D8xx      ; /* D8xx memory active        */
Pin  15      = D1FFP     ; /* D1FF Pulse                */
Pin  16      = D100P     ; /* D100 Pulse                */

/**  Logic Equations  **/
/**  # is or **/
/**  ! is not **/


D1xx    = Dxxx & x1xx & !RW;

D8xx    = Dxxx & x8xx & RW;

!D100P    = Dxxx & x1xx & !A0 & !A1 &!A2 & !A3 & !A4 &!A5 & !A6 & !A7 & !RW & PHI2S & DENB;

!D1FFP    = Dxxx & x1xx & A0 & A1 & A2 & A3 & A4 & A5 & A6 & A7 & !RW & PHI2S;

 

 

Firmware Board.kicad_pcb

 

Edited by reifsnyderb
Link to comment
Share on other sites

  • 3 weeks later...
9 hours ago, reifsnyderb said:

I just saw this about using a Raspberry Pi Pico to emulate a Z80 and VGA on an Apple II.  I doubt it would be that difficult to use some elements and adapt it to the 1090.

An adapter card allowing a Raspberry Pi Compute Module to be plugged in to a 1090 would really kick ass - especially if multiple modules could occupy multiple slots.

Link to comment
Share on other sites

  • 1 month later...

Not sure why Eric’s post is empty, but he also posted in the Commodore forum.

 

in summary, Eric posted an update to the Badger6502 Pico Loderunner on YouTube

 

This is an update to his device originally covered on Hackaday.com last year

 

Lots to like - Loderunner, C64 Basic, Commodore 8 bit file server WIP, Atari 8 bit file server. Is there a full C64 emulator? Lots of original work. 

Link to comment
Share on other sites

8 hours ago, Iguana Bob said:

Could a pi pico be used as an Atari floppy controller? Here's a video of the Adafruit team using one for a 1.44 IBM 3.5 floppy -

No reason why not - as long as you could disable the Atari drive's on-board controllers and let the Pico take over, sure, that could work.

 

It would really open up the door for all sorts of enhancements - want a US Doubler or Happy on your 1050?  Flash the Pico with the appropriate code and plug it in where it needs to be.  Hell, make it switchable.  Lotsa possibilities.

  • Like 1
Link to comment
Share on other sites

34 minutes ago, _The Doctor__ said:

whatever it writes/formats/saves would still need to be interchangeably working with real Atari drives, maybe that's why

This can already be done with a supercard pro/kryoflux/greaseweazle. No Atari drive required. Unfortunately those cannot be connected directly to an Atari computer or emulator. This can be done with the Amiberry emulator, which supports connecting directly to physical drives using a greaseweazle. Too bad Altirra does not support this as it is incredibly useful for creating physical disks to be used in a real Amiga.

Link to comment
Share on other sites

Using HD drives as suggested won't work,1.2MB and 1.4MB drives use a different size read write head, the drives can read lower density disks but can not write lower density disks that the original older mechs can read. The higher capacity drives are only lower densisty compatible for reads of old mechs or lower density disks that written by high density mechs. Original drives will not read a disk written by a higher density drive in low density mode.

 

So in emulations it is fine, but on physical drives it is not.

Edited by _The Doctor__
  • Like 1
Link to comment
Share on other sites

4 hours ago, Iguana Bob said:

Why would you need an Atari drive at all? This looks like it could be made to work with an off the shelf 3.5, 5.25, 1.44mb, 1.2mb, 720k, 360k or whatever standard IBM drive.

People have done this before, but minus the Raspi.  IIRC, it involves using custom firmware for the Atari drive in question, typically an XF551.  Something tells me that 3.5" 720K drives are the upper limit, with 5.25" topping out at 360K.  I may be wrong about the capacity limits, though, as this isn't something I've done for myself.

4 hours ago, Iguana Bob said:

This can already be done with a supercard pro/kryoflux/greaseweazle.

Here's the downside to those: they're not really suitable for most hobbyists.  I use a kryoflux both professionally as well as for personal stuff, and while it's an excellent piece of hardware, most folks just want to plug something into the SIO bus and go.  They're not generally interested in creating flux images for archiving, data recovery, or duplication.

4 hours ago, Iguana Bob said:

Too bad Altirra does not support this as it is incredibly useful for creating physical disks to be used in a real Amiga.

Sure, but how many users are actually interested in doing this?  The impression I've formed over the past few years is that flash media has, for all intents and purposes, become the preferred storage method for older machines.  Also, 3.5" media is a lot easier to come by than 5.25" media - sure, there are sources for both, but there's a lot of recycling of 30-plus-year-old disks going on.  You might get a working disk out of a particular flux write, but the question then becomes how long that media will last.  It's a WORHMT (Write Once, Read How Many Times?) experience.

 

Bear in mind that I'm not arguing against anyone wanting to undertake these efforts, but it does seem like something that's increasingly more of a niche interest.

Link to comment
Share on other sites

21 hours ago, _The Doctor__ said:

Using HD drives as suggested won't work,1.2MB and 1.4MB drives use a different size read write head, the drives can read lower density disks but can not write lower density disks that the original older mechs can read. The higher capacity drives are only lower densisty compatible for reads of old mechs or lower density disks that written by high density mechs. Original drives will not read a disk written by a higher density drive in low density mode.

 

So in emulations it is fine, but on physical drives it is not.

True for 1.2 MB disks/drives, but I believe that is not the case for 1.44 mechs.  That is the reason for the extra hole in HD disks -- to switch the write current for HD media so as to write twice as many sectors per track with higher coercivity (HD) media.  DD and HD (1.44) disks both nominally have 80 tracks per side and  I've used 1.44 mechs on converted XF-551 drives for many years.  But as always comes up, no, a converted XF-551 cannot read/write 1.44 disks.  The CSS Floppy Board could, however (as well as a few other specialized drives).

Link to comment
Share on other sites

1.44 MB HD disks do have a slightly higher coercivity than 720K DD disks. The difference is not as extreme as with 5.25" disks, but it is still enough to cause reliability problems if you attempt to format a 1.44 MB disk as 720K by covering up the media sense hole. It may seem to work fine initially, but over time the disks typically may become unreadable.

 

also not all drives handle the HD sensor on the 3.5 inch disks the same causing no end of issues not only reading but also writing to the disks.... add the PC BIOS issues that existed back in the day... it wasn't as cut and dried as people would like.

 

I used to have a bulk eraser handy to blank disks for formatting either way and that seemed to help for both 3.5 and 5.25 disk issues as in a pinch I'd chance using the higher density disks to get something saved while running out for the correct media. Those disks didn't hold up for long, as the drives write current wasn't aggressive enough. They put that sensor and hole combination there for a reason, to save production costs they would have dropped that in a heartbeat otherwise.

Link to comment
Share on other sites

On 3/5/2023 at 4:14 AM, reifsnyderb said:

A printer spooler would be a rather dedicated card.  The big question has to do with how to access the spooler memory.

I built a printer/RS232 interface card that used the cartridge and ECI interface ports 

could easily have made it a print spooler but never thought about it at the time,

it uses $D10x for it's access, the port was bi-directional for the RS232.

 

I had access to an RS232 Line printer (prints a line at a time),

what a noise when that thing started

 

Snip from the code

 

;PRINTER/RS 232 FOR 130XE
XR  =   $D100
STATUS = $D101
READ  =  $D102
TRANSMIT   =   $D103
LATCH =   $D104
STROBE =   $D105
BUSY  =   $D106
RDAV =   $D107

  • Like 1
Link to comment
Share on other sites

Since it was mentioned....

 

I've had 1090 cards made that should work as a print spooler.  I believe the P: device handler could be changed to a 1090 card then the 1090 card would act as a printer spooler.  Some more details would have to be worked out, of course...

 

Here's a picture:

 

930634419_1090printspooler.thumb.jpg.e4eefff7e60a119b5375fa59d33b073d.jpg

 

It's basically a firmware board with a 128k chip added and some banking logic added for the chip.  The idea is that the P: handler would be moved to the ROM on the 1090 board.  64k, on the board, is accessible and can be used for a print spooler.  I haven't figured out how it will periodically check the serial port to see if the printer is awaiting more data.  Maybe a VBI?

 

It will be a while until I can even think about testing it, unfortunately.  I've got to put a hold on Atari projects for a while as I need to dedicate some time to a project I started last year and think it would be a good idea to get it to a working state soon.  It's sort of Atari related.  But, I'd rather not say more until I have it to a certain state.  Of course, I'll still be making and selling the boards I have that are already working.   🙂

 

 

  • Like 2
Link to comment
Share on other sites

On 4/28/2023 at 9:14 PM, Iguana Bob said:

Could a pi pico be used as an Atari floppy controller? Here's a video of the Adafruit team using one for a 1.44 IBM 3.5 floppy -

 

An Atari 1.2mb 5.25" would be pretty cool.

I was actually thinking along similar lines. I'm sure it could be possible to create a smart controller that would offer Happy/Doubler compatibility when fitted to a 1050 but also offer a caching function whereby sectors previously read could be retrieved from memory faster. It could possibly even offer additional functionality where an entire disk could be read into memory and stored there permanently and could then be returned from an onscreen menu with a search function because these things often have a tonne of memory.

  • Like 2
Link to comment
Share on other sites

On 3/2/2023 at 6:24 PM, Tickled_Pink said:

the MCU that arrived a couple of days ago was the ESP32

The ESP32 is a great controller, but it has issues with port writing in RTOS. There are atomic issues. I use them in many parallel applications, I just had to write my own operating environment. Surprisingly easier than it sounds. If you are doing a more ridged application such as you've described, you can write simple programs to run on each core and ditch the OS completely.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...