Jump to content
IGNORED

FujiNet on the 1090XL Expansion System?


Recommended Posts

  • 5 weeks later...

I finally broke down and bought a 1090 from Brian (I badgered him until he sold me one) along with the 80 column card and the 320k memory card.

 

I'm very happy with the build quality of the circuit boards, they look amazing.  I need to figure out how to provide an enclosure for this system.  

 

I've hooked up the system and tested everything and all the cards work as intended.  The HDMI connector on the video card made it very easy to just hook it up to my LCD TV and run with it.  I found some Basic programs for testing out the XEP80 and they do not work on this 80 column card.  The XEP80 and XEP80 II use a national semiconductor NS405 terminal on a chip and this 80 column card uses a Raspberry PI RP2040 card as a replacement for the NS405.  This provides a very inexpensive 80 column card but it has no XEP80 like extras like Double high and Double wide text or bit addressable graphics...yet.  There are people producing VGA level graphics on the RP2040 and it may be just a matter of time before this can be migrated to the 1090's 80 column card.  

 

Like the 80 column card, the memory card just works.  It appears to be immediately compatible with ram disk software that I used and provides a very fast ram disk.  I don't immediately have any other software ready to test this out, but I will be doing further testing.  

 

What do I like most about the hardware?  Well, I've wanted a 1090 system since Atari announced it back on 1983 and have been angry at Atari for failing to come out with something that could have put the 8-bit Atari on equal footing with the Apple II and IBM PC back in 1983.  Maybe the writing was on the wall back in 1983 and Atari was already doomed, but at least that writing could have been in 80 columns!  Am I disappointed in the 80 column card?  Not really, there is room for improvement with the existing card, but a little programming could provide that improvement and certainly, the option of a more capable card being produced is now a real possibility.   Indeed the are many possibilities now that were not available before.  What I like most about this hardware is that I got this new functionality and did have to open my computer or de-solder anything.  No internal jumper wires are necessary, and if somebody decides to put a VBXE on an expansion card, I can simply pull the old card and plug in the new, no solder-sucker required!  If somebody wanted to add a 4MB memory card, all they have to do is work out the banking scheme and drop the card in place.  We already have people that know how to deal with PBI devices.  

 

I can envision a stereo pokey card with COVOX and maybe even a PS/2 mouse and keyboard port installed.  I can see someone working out a CP/M co-processor card (Atari already did one)  and I can see that leading to a 65C816 coprocessor card in the near future. 

 

This is all the options and a convertible top to boot!

20240119_091416.jpg

20240119_090704.jpg

20240119_091347.jpg

20240119_083004.jpg

20240119_090704.jpg

20240119_091354.jpg

Edited by Geister
fixing horrible, horrible spelling and grammar.
  • Like 6
Link to comment
Share on other sites

Last thought, the video looks terrible in these pictures and the images don't do justice to the clarity of the actual picture.  The text is razor sharp and and a full 80 column screen of Basic code is very readable.

Edited by Geister
fixing horrible, horrible spelling and grammar.
Link to comment
Share on other sites

1 hour ago, Geister said:

I finally broke down and bought a 1090 from Brian (I badgered him until he sold me one)

I admire your badgering skills.

 

On that 80-column card, is it a two monitor solution?  Meaning like the original XEP80 required two monitors?  Also, it looks like it is widescreen, I'm assuming that was just your preference?

 

Thanks for the review.

Link to comment
Share on other sites

My monitor doesn't auto-switch and I think two monitors would work, but Im not sure if both would be active at the same time.  I don't have the room to set up two screens at the same time. But I can put the monitor in composite mode and switch to 40 column mode by holding down the shift key on start up.  One monitor two different inputs.

I think the 80 column mode defaults to wide screen mode.  

Link to comment
Share on other sites

Thanks for this review, @Geister! This confirms for me why I really want to have as well as work on / develop for this platform. To me, it's great to be able to interface modern peripherals to old devices like the Atari and its 6502 because other than developing for systems like Ben Eaters' 6502 project, the add-ons that one can develop can actually be used on a productive machine. Since I started devloping hardware for the Atari, I've always wanted to work with the PBI, and the 1090 really makes it feasible. I wish there was some kind of tutorial that would explain how to develop a very basic PBI add-on, such as a an alternative ROM or memory expansion, so that I could work myself up from there. But the potentials you have outlined here are totally tempting...

Link to comment
Share on other sites

10 hours ago, Geister said:

I finally broke down and bought a 1090 from Brian (I badgered him until he sold me one) along with the 80 column card and the 320k memory card.

 

I'm very happy with the build quality of the circuit boards, they look amazing.  I need to figure out how to provide an enclosure for this system.  

 

I've hooked up the system and tested everything and all the cards work as intended.  The HDMI connector on the video card made it very easy to just hook it up to my LCD TV and run with it.  I found some Basic programs for testing out the XEP80 and they do not work on this 80 column card.  The XEP80 and XEP80 II use a national semiconductor NS405 terminal on a chip and this 80 column card uses a Raspberry PI RP2040 card as a replacement for the NS405.  This provides a very inexpensive 80 column card but it has no XEP80 like extras like Double high and Double wide text or bit addressable graphics...yet.  There are people producing VGA level graphics on the RP2040 and it may be just a matter of time before this can be migrated to the 1090's 80 column card.  

 

Like the 80 column card, the memory card just works.  It appears to be immediately compatible with ram disk software that I used and provides a very fast ram disk.  I don't immediately have any other software ready to test this out, but I will be doing further testing.  

 

What do I like most about the hardware?  Well, I've wanted a 1090 system since Atari announced it back on 1983 and have been angry at Atari for failing to come out with something that could have put the 8-bit Atari on equal footing with the Apple II and IBM PC back in 1983.  Maybe the writing was on the wall back in 1983 and Atari was already doomed, but at least that writing could have been in 80 columns!  Am I disappointed in the 80 column card?  Not really, there is room for improvement with the existing card, but a little programming could provide that improvement and certainly, the option of a more capable card being produced is now a real possibility.   Indeed the are many possibilities now that were not available before.  What I like most about this hardware is that I got this new functionality and did have to open my computer or de-solder anything.  No internal jumper wires are necessary, and if somebody decides to put a VBXE on an expansion card, I can simply pull the old card and plug in the new, no solder-sucker required!  If somebody wanted to add a 4MB memory card, all they have to do is work out the banking scheme and drop the card in place.  We already have people that know how to deal with PBI devices.  

 

I can envision a stereo pokey card with COVOX and maybe even a PS/2 mouse and keyboard port installed.  I can see someone working out a CP/M co-processor card (Atari already did one)  and I can see that leading to a 65C816 coprocessor card in the near future. 

 

This is all the options and a convertible top to boot!

20240119_091416.jpg

20240119_090704.jpg

20240119_091347.jpg

20240119_083004.jpg

20240119_090704.jpg

20240119_091354.jpg

Looking good!   🙂

Link to comment
Share on other sites

9 hours ago, Mark2008 said:

I admire your badgering skills.

 

On that 80-column card, is it a two monitor solution?  Meaning like the original XEP80 required two monitors?  Also, it looks like it is widescreen, I'm assuming that was just your preference?

 

Thanks for the review.

The original 1090 80 column card took over and you now could only use an 80 column monochrome display.  This could, of course, be fixed in the ROM that comes onboard the card as 1090 devices can have their own handlers on-board.  With this card, I discovered by accident that you could disable it by holding down the shift key on boot.  It was by reading through the source code I noticed a register was queried.  Only later did I find it buried in the XEP-80 instructions.  I added some code, to the ROM, that should allow for the card to be disabled if a configuration system, of sorts, is created.

  • Like 1
Link to comment
Share on other sites

36 minutes ago, freetz said:

Thanks for this review, @Geister! This confirms for me why I really want to have as well as work on / develop for this platform. To me, it's great to be able to interface modern peripherals to old devices like the Atari and its 6502 because other than developing for systems like Ben Eaters' 6502 project, the add-ons that one can develop can actually be used on a productive machine. Since I started devloping hardware for the Atari, I've always wanted to work with the PBI, and the 1090 really makes it feasible. I wish there was some kind of tutorial that would explain how to develop a very basic PBI add-on, such as a an alternative ROM or memory expansion, so that I could work myself up from there. But the potentials you have outlined here are totally tempting...

 

I've put together a guide that has all compiled and verified information on how to make PBI and 1090 hardware.  While it's not a tutorial, the information is there.  Perhaps one of the best parts is the section on Parallel Device Handlers and Drivers.  Also, there is an example schematic on a 64k memory card.  I've added other information that points at known errors in other publications as well.

 

Parallel Port Guide v0_94.pdf

 

My firmware board is made for creating a ROM.  It can be used as a ROM "cartridge", to run a game like PacMan, or even to replace the OS.  I do need to get the latest one ordered as the latest version is designed to act as an OS and BASIC upgrade.  Because of the complexity of the cards, if "glue logic" were to be used, it's best to use programmable logic chips.

 

Here's the latest firmware board schematic:

Firmware Board.pdf

 

 

 

 

Edited by reifsnyderb
  • Thanks 1
Link to comment
Share on other sites

Thanks, Brian, your Parallel Port Guide certainly contains a wealth of information, and the work you have put into this in order to get all the information in one place is really great. But as you say, especially for me as newbie in this field, it is not the same as a tutorial ;). It took me Ben Eater's videos to get an understanding on how to read (and understand) datasheets of ICs, and I guess I would need something similar to understand which kind of glue logic is needed in which places for which reasons, and the same on the software side in order to understand how to write a proper handler etc. Something like: "How to build an OS-selector from scratch" or something like that which takes me step-by-step to get it done would be what I need. I'm not asking anybody to do that for me, but it would be something I assume would be of great help for others who would be willing and interested in constructing such devices, be it directly for the PBI or for the 1090.

Link to comment
Share on other sites

5 minutes ago, freetz said:

Thanks, Brian, your Parallel Port Guide certainly contains a wealth of information, and the work you have put into this in order to get all the information in one place is really great. But as you say, especially for me as newbie in this field, it is not the same as a tutorial ;). It took me Ben Eater's videos to get an understanding on how to read (and understand) datasheets of ICs, and I guess I would need something similar to understand which kind of glue logic is needed in which places for which reasons, and the same on the software side in order to understand how to write a proper handler etc. Something like: "How to build an OS-selector from scratch" or something like that which takes me step-by-step to get it done would be what I need. I'm not asking anybody to do that for me, but it would be something I assume would be of great help for others who would be willing and interested in constructing such devices, be it directly for the PBI or for the 1090.

How about if I add a section to the Parallel Port Guide that lists the steps needed to design a such a board?

Link to comment
Share on other sites

That would of course be a great help - the great thing with Ben Eater's videos was/is that they take very little for granted. Of course it is out of the scope of such a guide to explain how things work on a transistor level, but what kind of glue logic is needed for what kind of reasons and why (and how) it should/could be done using CLPDs would at least be very helpful for me (who has no degree in engineering). At least I learn a lot already just by reproducing things step by step, trying to understand why something needs to be done (and why this way). So yes, such a step-by-step guide would really be helpful. Maybe also by doing it in two ways: On a breadboard directly connected to the PBI, and then to design such a concept for the 1090 (which would be my eventual goal)...

Link to comment
Share on other sites

I know that there was a development board from Atari and spoke with Brian about how such a board with buffering and decoding chips already installed would be a great help to people who wish to develop for the 1090. 

 

Radio Shack used to sell a development board for the Apple bus which I was able to use to begin development of a 65C816 board for the Atari.  I got to the point where you could plug the card into the parallel port of the XL and remove the 6502 chip and the computer would run fine in 8-bit mode. 

 

There were no board houses back then that made custom boards at an affordable price, so I wouldn't have got as far as I did without that Radio Shack card and some PAL programming tools I had access to through work back in the day.

 

I worked out the signals by reverse engineering (pirating) the chips on a early Commodore version  of an accelerator card.  The maker had tried to prevent such reverse engineering by shaving and and blacking out the tops of the chips, but I was able to work them out assuming that they were common 78LS logic and testing inputs and outputs.  It would be much easier if development boards for the 1090 had bus buffering and decoding already provided.

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, freetz said:

That would of course be a great help - the great thing with Ben Eater's videos was/is that they take very little for granted. Of course it is out of the scope of such a guide to explain how things work on a transistor level, but what kind of glue logic is needed for what kind of reasons and why (and how) it should/could be done using CLPDs would at least be very helpful for me (who has no degree in engineering). At least I learn a lot already just by reproducing things step by step, trying to understand why something needs to be done (and why this way). So yes, such a step-by-step guide would really be helpful. Maybe also by doing it in two ways: On a breadboard directly connected to the PBI, and then to design such a concept for the 1090 (which would be my eventual goal)...

Some thoughts here:

 

I don't have any electronic engineering background.  However, I have an extensive IT background that includes software development ranging from the OS level (i.e.  FreeDOS) to web development.  On the other end of the spectrum, I've managed LANs, Servers, Routers, etc.  To me, developing a board is just another form of programming...but at the lowest level possible by using basic logic gates.  If you can program a computer, you can do logic gates.   🙂

 

Some people like breadboards.  My thought is that connecting all those wires would be a nightmare, take a long time, and be prone to errors.  I develop boards by designing the board schematic in KiCad, designing the board, and getting some made.  If there is something I feel I am unsure about, I add extra pads, jumpers, etc.  I recently saw a youtube video where it was recommended that you consider the first board to be a development board.  In summary, make up a board that has test points, components spaced out, solder jumper positions, etc.  Then, if it doesn't work, it's easier to modify.  Many times my first board is screwed up.  I've posted pictures of the first working board that shows extra wires soldered on and traces cut.  For me, this is normal.  But, I personally think it's faster and more precise than screwing with a breadboard.  I also don't care to use those really small components and avoid them if possible.  For example, I've found that surface mount inductors are awfully tiny.  So, I use through-hole inductors instead.  I also use 1206 surface mount components as the resistors still have numbers on them.

 

I've found that PLCs are easier to use than CPLDs.  PLCs are still readily available in 5vdc and can be programmed with a normal programmer.  While CPLDs are still available, the software to program them is a lot more involved and there is an extra step of programming via the JTAG connectors. 

 

 

 

Link to comment
Share on other sites

56 minutes ago, Geister said:

I know that there was a development board from Atari and spoke with Brian about how such a board with buffering and decoding chips already installed would be a great help to people who wish to develop for the 1090.

 

I am thinking along the lines of the large 1090 breadboard layout combined with my firmware board would be most useful.

 

 

 

 

 

Link to comment
Share on other sites

While my professional backgrond is neither in IT nor in engineering, I've been working on microcontrollers for several years now and also developed some (lesser complex) hardware. Still, such aspects like why and what for I would need buffering and multiplexing is something that requires deeper understanding of the hardware in use that I don't have (yet).

As for breadbards, I prefer doing the initial design on a breadboard because I can work with trial and error as well as through-hole parts. I may use SMD in (external) production, but never in development, simply because my hands are too shaky ;). It may not be feasible due to the number of wires needed in the case of the PBI, but I'd think that if Ben Eater can design a CPU on breadboard, then some kind of simple PBI peripheral should not be impossible ;). Again, I'm just stating what I would need and how I as an amateur would approach this. If I find a way to get an understanding of the processes, I'd be motivated to learn about them, but so far, I've often hit a barrier (and apparently, many hardware developers in the 1980s, too, otherwise the PBI might have been used more often compared to SIO or joystick-port-based devices)...

Link to comment
Share on other sites

1 hour ago, reifsnyderb said:

To me, developing a board is just another form of programming...but at the lowest level possible by using basic logic gates.  If you can program a computer, you can do logic gates.   🙂

 

Some people like breadboards.  My thought is that connecting all those wires would be a nightmare, take a long time, and be prone to errors.  I develop boards by designing the board schematic in KiCad, designing the board, and getting some made. 

 

This will seem out of left field, but it's just to  understand your throughts more precisely.

 

Say someone is a professional programmer and has no hands.

 

They use cognitive skills to develop programs, as far as handiwork, physical skills, they have none.

 

Can they use only programming skills, having someone else make the boards form KiCad designs - and have a finished product.

 

Or is there still an assumption of eventually picking up soldering iron placing parts on the boards and doing some physical work.

 

Not that I have any time, work is taking all my free time again, and I may not even visit AtariAge for another 6 months, it happens every year without fail, but I would find it absolutely thrilling if I could participate in board design someday...I find this thought to be quite appealing, b ut I keep thinking, no there is more to it, you have to pick up a soldering iron -b ut let me know if I'm wrong.

 

p.s. that was a theoretical, I have hands.

 

 

 

Edited by Mark2008
Link to comment
Share on other sites

The lack of development on the 1090 is down to Atari abandoning the design as too expensive for them to produce and sell.  Atari almost had the PBI ready to sell and decided to sell Atari to Trameil instead.

Link to comment
Share on other sites

2 minutes ago, Mark2008 said:

 

This will seem out of left field, but it's just to  understand your throughts more precisely.

 

Say someone is a professional programmer and has no hands.

 

They use cognitive skills to develop programs, as far as handiwork, physical skills, they have none.

 

Can they use only programming skills, having someone else make the boards form KiCad designs - and have a finished product.

 

Or is there still an assumption of eventually picking up soldering iron placing parts on the boards and doing some physical work.

 

Not that I have any time, work is taking all my free time again, and I may not even visit AtariAge for another 6 months, it happens every year without fail, but I would find it absolutely thrilling if I could participate in board design someday...I find this thought to be quite appealing, b ut I keep thinking, no there is more to it, you have to pick up a soldering iron -b ut let me know if I'm wrong.

 

p.s. that was a theoretical, I have hands.

 

 

 

Theoretically, you could design the board in KiCad and have PCBWay produce the finished boards and ship them to you for testing.  In practice, if you don't know what you are doing, you'd get non-working product from PCBWay and have no way to fix them without soldering bodge wires where needed.

  • Like 1
Link to comment
Share on other sites

Where the programming comes in is in designing the chip select decoding and the signal timing.  You must know how to address a chip and activate the combination of signals that select a memory location or port. and get the data and address lines to the right pins at the right time to have the data you need on the data bus when you need it.

Link to comment
Share on other sites

4 hours ago, freetz said:

While my professional backgrond is neither in IT nor in engineering, I've been working on microcontrollers for several years now and also developed some (lesser complex) hardware. Still, such aspects like why and what for I would need buffering and multiplexing is something that requires deeper understanding of the hardware in use that I don't have (yet).

As for breadbards, I prefer doing the initial design on a breadboard because I can work with trial and error as well as through-hole parts. I may use SMD in (external) production, but never in development, simply because my hands are too shaky ;). It may not be feasible due to the number of wires needed in the case of the PBI, but I'd think that if Ben Eater can design a CPU on breadboard, then some kind of simple PBI peripheral should not be impossible ;). Again, I'm just stating what I would need and how I as an amateur would approach this. If I find a way to get an understanding of the processes, I'd be motivated to learn about them, but so far, I've often hit a barrier (and apparently, many hardware developers in the 1980s, too, otherwise the PBI might have been used more often compared to SIO or joystick-port-based devices)...

My thought is that there weren't many PBI devices created because the existing literature was wrong.  Mapping The Atari, for example, had errors.  The articles by Earl Rice had errors as well.  Had you followed that information you would have ended up frustrated.

Link to comment
Share on other sites

3 hours ago, Mark2008 said:

 

This will seem out of left field, but it's just to  understand your throughts more precisely.

 

Say someone is a professional programmer and has no hands.

 

They use cognitive skills to develop programs, as far as handiwork, physical skills, they have none.

 

Can they use only programming skills, having someone else make the boards form KiCad designs - and have a finished product.

 

Or is there still an assumption of eventually picking up soldering iron placing parts on the boards and doing some physical work.

 

Not that I have any time, work is taking all my free time again, and I may not even visit AtariAge for another 6 months, it happens every year without fail, but I would find it absolutely thrilling if I could participate in board design someday...I find this thought to be quite appealing, b ut I keep thinking, no there is more to it, you have to pick up a soldering iron -b ut let me know if I'm wrong.

 

p.s. that was a theoretical, I have hands.

 

 

 

Well, to develop boards you should be able to solder, though I suppose wire-wrap could be used.  I am sure there's some good soldering tutorials available on youtube.  Even so, the biggest error I've seen is that solder needs to be applied to the leads and lands and not so much to the soldering iron.

  • Like 1
Link to comment
Share on other sites

3 hours ago, reifsnyderb said:

My thought is that there weren't many PBI devices created because the existing literature was wrong.  Mapping The Atari, for example, had errors.  The articles by Earl Rice had errors as well.  Had you followed that information you would have ended up frustrated.

That is bizarre - and make me wonder even more how some people were able to come up with something amazing as the Freezer or the Black Box, but nothing much else of such impact. But then your work on your guide is even more important...

Link to comment
Share on other sites

On 1/20/2024 at 9:54 AM, reifsnyderb said:

I've found that PLCs are easier to use than CPLDs.  PLCs are still readily available in 5vdc and can be programmed with a normal programmer.  While CPLDs are still available, the software to program them is a lot more involved and there is an extra step of programming via the JTAG connectors.

I hate to nitpick, but when I first saw the term PLC being used for what is essentially a PLD or to be more specific a EEPLD at first it threw me for a second. Because I used to work with PLCs back in 2001. Essentially PLC stands for Programmable Logic Controller which is something that often times looks like this...

 

https://panasonic-plc.com/wp-content/uploads/2016/12/Structured-Siemens-PLC.jpg

 

Wikipedia PLCs

 

It is an industrial controller based on a microprocessor, some programmable memory, BITD this was battery backed or now days Flash, and has a backplane for plugging in I/O modules. these were usually designed to clip into 35mm DIN rail, and could be expanded by adding more I/O modules.

 

The EEPLD on the other hand is strictly a programmable logic device with no processor, and no RAM other than what can be made from a few onboard flip-flops. The early versions of these carried part numbers like GAL20V8 or GAL22V10, but these are now obsolete and have been replaced by Microchip/Atmel ATF16V8 or ATF22V10 devices to name just a few. Essentially they are Electrically Erasable Programmable Logic Devices that exist on a single chip. They are normally used to replace multiple 74 series logic gates in a circuit, or what is often called glue logic, doing in a single chip what may have taken a good number of individual logic chips to accomplish before.

 

BTW, the 1090 series of boards you are developing are quite amazing 👍

 

EDIT: I normally just call these PLDs or sometimes SPLDs (Simple Programmable Logic Device). The CPLD (Complex Programmable Logic Device) is the larger cousin, having far more macrocells. A SPLD typically consists of a few hundred gates, whereas a CPLD consists of a few thousand logic gates.

Link to comment
Share on other sites

I used to program Allen-Bradley PLCs, so that throws me as well.  I used to do Lab and Plant Automation. Good times!

 

And yes, the 1090 Expansion system is quite amazing.  I could see one of your XEP 80 II boards providing a pass through 80 column video card for the 1090.  Run the composite video into the XEP 80 II and have HDMI video to a cheap LCD TV/monitor and be able to switch between 40 and 80 column mode without having to swap cables or use a joystick port.  Yeah I've already got the RP2040 based 80 column card (not really an XEP clone), but the more the merrier!

 

Man, I've really got to squeeze these videos.

 

 

Edited by Geister
fixing horrible, horrible spelling and grammar.
  • Like 1
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...