Jump to content
IGNORED

1090XL remake


kenames99

Recommended Posts

<sigh>  I just discovered the schematic for the Z80 card does not match the pictures.  There are two big clues here.  The first is that the schematic does not show any 20 pin chips.  The picture does.  The second clue is the schematic shows a crystal.  There isn't a single crystal on the picture.  I wonder why the difference and what happened....

 

z80_board_schematics.thumb.jpg.a433ed370672b720d273c7dcde880dfb.jpg

 

z80_board_front.thumb.png.9d50dba59e0546b68075ce34d0e74e3a.png

  • Like 1
  • Sad 1
Link to comment
Share on other sites

8 minutes ago, kenames99 said:

yep, they don't match. good thing I did not start to put it in kicad. that would have driven me more nuts then I am.

 

Ken

 

I found out because I started to put it into KiCad.   😞   I have most of the schematic in KiCad and figured I'd start laying out the chips.  That's when I realized that those long chips were 20 pins chips and the schematic doesn't have any 20 pin chips.  It never occurred to me to see if the picture matched the schematic ahead of time.

 

The picture clearly shows a Z80 processor.  That much can be made out.  Some of the chip numbers, from the picture, can be figured out.  Some probably can't.  I suppose if somebody was really determined, given there are pictures of both sides of the board, that an educated guess could be made of the schematic.  It would be a pretty big project to do so, though.  Given that there's no known software for the 1090 CPM board, either, everything would have to be re-created from scratch.  I am not sure of that doing so, in 2023, would result in much more than an interesting curiosity with little utility.

 

 

 

  • Like 2
Link to comment
Share on other sites

I agree. there was/is the Indus GT that has cpm and also the ATR8000 and both provide a usable cpm environment tho I do not know how good. the 80cvc was a lot of guesswork and hoping tho the schematic was actually correct. I tried to do the board layout as close to original as I could. anyway, I think the top 3 20 pin chips are buffers for the memory board access, LS245 and LS244. that is my take after a quick look earlier.

 

Ken

 

Link to comment
Share on other sites

I wonder if the design is close to the 1060 CPM device.  In any case there is no video out on this 1066 card is there? Perhaps it needs to be mated to the 80Column card and the 64K card as well.   Any extra components on those boards? LOL

Link to comment
Share on other sites

42 minutes ago, kheller2 said:

I wonder if the design is close to the 1060 CPM device.  In any case there is no video out on this 1066 card is there? Perhaps it needs to be mated to the 80Column card and the 64K card as well.   Any extra components on those boards? LOL

Neither CPM card has a video out.  My belief, based on the schematic, is that the Atari would be able to pause the Z80, bank in the video memory region (and/or other buffers, too), and do what needs to be done to display the video output.  The schematic shows the 40 pin connector is identical to the connector on the 64k memory card.

 

I just saw a picture of the 1060 CPM device and there isn't much in common with anything 1090 related.  (The picture is on the atarimuseum website and accessible via the wayback machine.)

Link to comment
Share on other sites

I looked further into @ClausB 's change, on the 1066 RAM card, for 256k DRAM chips and changed the description of my parallel bus documentation to include the banking if this change is made.  It now reads:

 

 

$D1FE Write RAM Bank Select Register (1066 64k RAM Card)

 

Note: No software is known to use $D1FE to select a RAM bank.

 

Memory Bank Address: 16384-32767 ($4000-$7FFF)

Select Bank: 53758, BN* ($D1FE, BN)

Deselect Bank: 53758, 128 ($D1FE, $80)

 

* BN is the Bank Number as follows:

First RAM Card: 0 – 3 $0-$3

Second RAM Card: 16-19 $16-$31

 

Note: Claus Buckholz has determined that a 1066 64k

RAM card can handle 256k DRAM chips by connecting

pin 1, of U20, to ground and by installing a 74LS153 in the

empty U20 socket. With this change bits 2 and 3, of $D1FE,

will become bank select bits resulting in the following bank

select table:

 

First RAM Card: 0 – 15 $0-$F

Second RAM Card: 16-31 $10-$1F

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, Mathy said:

Hello Ken, guys

 

 

FujiNet can also be used to run CP/M.  (Don't ask me how)

 

Sincerely

 

Mathy

 

launch a terminal and use the AT command to start CPM, I do this under ICE-T at 19200 for funzies.

you of course have to provide it with software... it's folder layout is outlined on the FujiNet sites.

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

  • 1 month later...

Attached are my latest files for a 1090 XL/XE Expansion system that is derived from the 1090 XL Expansion system.  This version is designed for an XE Compatibility Card to replace the missing /EXTENB signal required for memory boards.  It also has an /RDISABLE signal to allow for mapping of memory regions by other cards.  If an /RDISABLE compatible memory card is installed, another card can take control of a memory region by setting the /RDISABLE line low.  This allows other cards to act as internal cartridges or to even supply other memory.

 

1090XL 2023 R10.zip

 

Here's the 1091 XL/XE Expansion system.  It's a smaller version of the above but with the 12V circuitry omitted and more surface mount chips installed. 

 

 1091XL R7.zip

 

Both of the above have been tested on a 130XE with the XE Compatibility Card and a 320k memory card that uses PORTB banking.

 

I use the 1091 with my 600XL and the 320k memory card.  Also successfully tested, with the above, is a CX-85 numeric keypad card and firmware board.

 

I haven't been happy with using the firmware board to upgrade the OS, however, as any software that manipulates PORTB, bit 0, results in the system crashing.  Using the firmware board for an external BASIC upgrade (as long as nothing manipulates PORTB bit 1) or installing other software/drivers/etc., will work without incident.

 

 

 

  • Like 6
  • Thanks 1
Link to comment
Share on other sites

1090 XL Prototype Board

 

I re-created the 1090 XL Prototype Board from a picture (shown below) and a .pdf file that is too big to reasonably post that gave some hints as to the back side of the board.  I added silk screened text to indicate what each section is for as well.  The edge connector holes have been changed, however, as I laid them out a lot nicer and labelled them.  The labeling, however, is consistent with the modernized 1090XL and 1091XL as I used some of the reserved lines and changed some lines that were never used on any Atari board whereby a schematic is available.  Given the original use of those particular lines, I doubt they were ever used.

 

Here's a picture of the board I used as a reference:

prototyping_board_front.thumb.jpg.f7c7620db88d9d5c5bad096c1fd3672b.jpg

 

Here's the front:

 

Front.thumb.jpg.91c843690bfff90488cdf64762aeba8f.jpg

 

Here's the back:

 

Back.thumb.jpg.b5595ae94c96d4ad1536ab0a1821a993.jpg

 

Detail on the edge connector labeling:

 

546241556_EdgeConnectorDetail.thumb.jpg.5f0fd2798ca66f5ad2e9fde89a777966.jpg

 

The KiCAD 6 files:

1090 Prototype Board.zip

 

 

 

I'll write up some more information about this board in the next version of the Parallel Port document.

 

 

 

 

 

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

I decided to make a breadboard like version of the 1090 Prototype Board.  It's labelled on both sides and the rows and columns are labelled like a breadboard.  There aren't any power rails as those already run around the edges.  However, there are rails that span the entire width of the board in the "channel" where the center of a DIP would be.  There is a center section with fewer terminals as I had to decide how to layout the board.  The center section could be used for smaller DIPs or other components.  It also has a "rail channel" in it's center.

 

1090 Prototype Board BB.zip

 

Front.thumb.jpg.9f4fe548c0da53c10b1b033d053ce1dd.jpg

 

Back.thumb.jpg.7eb83cbf3a94feaea0368992529208d3.jpg

 

 

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

33 minutes ago, kheller2 said:

What would be cool….   A MIO 1090 card using MIO firmware.  

ICD's MIO didn't follow Atari's PBI spec very well.  That being said, having a similar card is quite possible.  We badly need developers....which is a big reason I have put together and released a document on Atari's PBI.  While it may take several reads through it, I believe what I've compiled is correct and is based on what I've learned by experience.  (i.e.  Following bad documentation then getting a board made based on it.)

 

Using CPLDs and/or FPGAs, as suggested by @kenames99 , would greatly speed development.

 

So, please, if anyone has a desire to develop really cool Atari hardware, consider 1090XL cards!

  • Like 4
Link to comment
Share on other sites

AT LAST!!!!    A MODERN DAY 1090XL (AND 1091XL) 80 COLUMN CARD!!!!

 

🙂🙂🙂🙂🙂🙂🙂

 

Thus far, I looked at the XEP-80-II and, while really, really cool, it uses a joystick port.  (I really like to use joystick ports for, well, joysticks.   🙂   )  The 1090XL 80 column card reproduction appears to work well with older monitors but may be hit-or-miss on new TV's.  Both of these solutions depend upon a chip that has been out of production for years.  So, when I saw the XEP-80 re-done with a Raspberry Pi Pico I thought that was really promising and even alluded to how it could be done in the thread.

 

https://forums.atariage.com/topic/350451-xep-80-on-raspbery-pi-pico/

 

So, I started with the blueprints for my trusty firmware card and got to work.  (I've been using the firmware card as a base for other 1090XL cards because it is proven and has a lot of what's needed on the 1090 XL side of things.)

 

Last week, I received the prototype board and was able to get the Raspberry Pi Pico side of things working.  The last several days, I took the XEP-80 driver code and modified it to work on the 1090 card.  This took a multitude of stages.  In short, here was the process:

 

1.  Setup and compile the XEP-80 code as a right cartridge in Altirra on an 800.  I decided to do it this way as getting it to work on a ROM is critical and Altirra can emulate the environment with an 800.  Being able to debug was critical.

2.  Modify the code so that both of the handlers have a single entry point....just like they will on a 1090 card.  I used the original 80 column card source code as a guide.

3.  Carefully modify the code to use $D1F8 instead of PORTB and to run on a 1090 card.

4.  Enjoy!

 

lol   Well, that whole process took days.  But it works!

 

I chose $D1F8 as Atari already had $D1F8 dedicated to an 80 column card.  So, instead of using two pins on PORTA, all of the serial communication is going through bit 0 of $D1F8.  So, this is basically a serial solution on a parallel card.

 

So, here's a few pictures.....

 

1196730553_80coldisplay.thumb.jpg.ce5847649dad4611dff7d0657283cebf.jpg

Note the extra memory.  I am assuming this is because ANTIC is turned off and the display memory is free'd up.

 

Here's the front of the card....

front.thumb.jpg.f08f97dc55aae3c6e17598875ed5a727.jpg

This was the 5th card hiding on the far fight on the 1091XL picture I posted previously today.  At that point, I didn't yet have it working but figured it was theoretically close.  This card has a couple changes as it handles the level shifting via those 2 resistors to the left of the Raspberry Pi Pico.  A 2.2k ohm and 3.3k ohm resistor was what the math said should drop 5VDC down to 3VDC.  However, the reality was that it dropped the voltage down to 2VDC.  So, a little resistor swapping determined that a 1.8k ohm resistor worked better in place of a 2.2k ohm resistor and brought the voltage up from 2VDC to 2.5VDC.  The Raspberry Pi Pico is my older one with the "legs" on it.  While I bought a couple "legless" Rapsberry Pi Pico's, I figured I'd use this one so I could more easily remove it if there is a problem.  One major gripe is that there needs to be a special place in hell for people who design connectors, such as that HDMI connector, with pins that are almost microscopic.  That's just nuts.

 

Also, there are those extra resistors and connector location in the upper right-hand corner of this card.  The Raspberry Pi Pico can also be programmed for composite output.  My thought is that this card could be programmed for both HDMI and composite output.  I haven't tried it because the development environment to do so is rather complicated and wanted to get this card working.

 

Here's the back of the card....

back.thumb.jpg.3eacf5e818d11ee8aa21295512478ab4.jpg

There is a jumper installed as, when designing the board, I thought that something didn't quite look right but couldn't put my finger on it.  So, after staring at it a while, I decided that it will probably need some other changes anyhow so I'd just order it and deal with it.  It was the right decision.  When determining the code for the programmable logic chips, I realized where the problem is.  There is also a 10k ohm resistor I added as a safety measure, of sorts.  This goes to ground from the output side of the Raspberry Pi Pico to the input side of the programmable logic chip.  When testing, I noticed that the input for the programmable logic chip was at 5VDC.  While this was unloaded, I figured it would be a good idea to lightly hold it to ground.  The Raspberry Pi Pico feeds 3.3 VDC into this input for serial communication that is read at $D1F8.

 

For those that want to see how it's done, here's the source code for the ROM. 

 

xep80.zip

 

I think I got all of my cuss words out of the comments.  🙂

 

 

Edit to add:  It looks like I should turn the attract mode off on the normal display.  Also, it may be possible to adapt this solution to an 800.

 

 

 

 

 

 

 

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

26 minutes ago, David_P said:

All we need now is an SIO card to plug the 1090 into an 800 or a 400 ;) 

 

Kinda defeats the whole idea of parallel expansion to go through the much slower SIO bus.

  • Like 3
Link to comment
Share on other sites

the 400 and 800 do not have the PBI code in the OS ROM to handle it.

 

the incognito has the PBI port I think, there is a 50 pin header. maybe the os rom on that has the code for it. the cable between may be a problem because of length. I would try if I had an incognito but sadly I do not. that is also NOT a plea to get one. I have many other things going on right now.

 

Ken

 

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...