Jump to content
IGNORED

1090XL remake


kenames99

Recommended Posts

Since the Teensy 3.5 is out of stock, the cheapest off-the-shelf and easy to use micro controller appears to be a Raspberry Pi Pico.  So, how about some sort of 1090 "developer" board that uses a Raspberry Pi Pico?  Off the top of my head, and after skimming the datasheet, I could envision that such a board would allow for USB, have an SD Card, and allow the programming of whatever else somebody wants to try.

 

One complexity with a 1090 card is that it should have a 2k EPROM chip.  However, I can envision that such a chip could be replaced by an SRAM chip and just loaded by the Raspberry Pi prior to the Atari being turned on.  (The 1090 needs to be turned on prior to turning the Atari on.)  If this were to be done, all development could be done and just uploaded to the Raspberry Pi via the USB interface.

 

The Rapsberry Pi Pico is, unfortunately, a 3.3VDC device.  So level shifting would be required.   😞   But it is a pretty cheap off-the-shelf micro controller board.

 

There is also a Raspberry Pi Pico W, which has a wireless capability and appears to use a compatible footprint.  I wonder if it's possible to port Fujinet to it?

 

Having a Raspberry Pi Pico W, with an internet connection, would allow for obtaining the time so as to have a RTC solution.

 

The electronics on the 1090 board would provide for an interface via $D1xx as per PBI standards.  

 

Thoughts?

 

 

  • Like 2
Link to comment
Share on other sites

5 hours ago, atari-passion said:

Hi there,
I have an atari 1090 xl expansion system and I would like to know if the 320kb expansion board is 100% compatible with the prototype version?
I wouldn't want to risk damaging it.
Do all games and utilities take extra memory into account ?

The 320k expansion board, for the 1090, is designed to work in the 1090 XL Expansion system and is designed to be 100% compatible.  From everything I have seen documented on the 1090, it will work.  It works in both "upgraded" reproduction 1090's boards I've had made.  (The first board is the same as that re-created by @kenames99 but with the addition of an optional line for the /HALT signal.)  The pin connections are all correct and compatible with a real 1090 XL Expansion system.  The only "test" needed is to plug it into a real 1090 and not a reproduction as I don't have a real 1090XL to do the final test with.  I've thoroughly studied all of the 1090 XL documentation I've found and 100% believe it will work and would quickly try it if I had the real 1090 handy.  

 

The extra memory is via PORTB and is RAMBO compatible.  Any software that requires the extra memory provided by an upgraded XL or, in most cases, an XE will work with this card.  SpartaDOS-X quickly sees the memory and uses it.  The 320k card completely replaces the base memory so it will work with an Atari 600XL or 800XL.  On a 600XL, the base memory is "upgraded" to 64k.  I use the reproduction boards and a 320k card with my 16k Atari 600XL all the time.  Since it is SRAM, however, when you reboot the computer it's not uncommon to have to power cycle the 1090.  I've also found the boards to be fairly resilient as I've accidentally unplugged cards without turning off the reproduction 1090 boards.  

 

Is there any chance you can take (or already have) accurate measurements of the case so as to have enough information to build a full reproduction?

Edited by reifsnyderb
  • Like 2
Link to comment
Share on other sites

18 hours ago, reifsnyderb said:

The 320k expansion board, for the 1090, is designed to work in the 1090 XL Expansion system and is designed to be 100% compatible. 

 

ok well, then I'll see to buy one for my 1090 xl prototype

 

18 hours ago, reifsnyderb said:

 

 

Is there any chance you can take (or already have) accurate measurements of the case so as to have enough information to build a full reproduction?

Look at my pictures of the box on page 4 and put arrows to indicate the location of the measurements you want, and I'll try to do that.

Link to comment
Share on other sites

11 minutes ago, atari-passion said:

ok well, then I'll see to buy one for my 1090 xl prototype

I think it's possible to have a 4MB Axlon compatible upgrade running on a 1090.  I think a slight change to the 320k card will be required.  I am studying the problem.  

 

An Axlon compatible upgrade may work if it looks at PORTB's settings to make sure that any PORTB banking is off and the OS is enabled.  My current thought is that the Axlon compatible upgrade should provide the base memory in the banking region.  So the 320k upgrade card should have an option to only supply memory in the 16k banking region if such an Axlon upgrade card is not present.  I need to consider what will happen if the computer is an XE or a 64k XL without a 320k card as well.  So I may be making an updated 320k card soon.

 

11 minutes ago, atari-passion said:

 

Look at my pictures of the box on page 4 and put arrows to indicate the location of the measurements you want, and I'll try to do that.

Thanks!  I'll do that.

Edited by reifsnyderb
Link to comment
Share on other sites

  • 2 weeks later...
4 minutes ago, kenames99 said:

hi reifsnyderb,

  did you ever get the dimension for the chassis and cover? cuz yea, those photos on page 4 are nice. I was checking around and found a couple places to check but I need some general dimensions. thanks.

 

Ken

 

I did not.  Sorry.  I've been tied up with some other matters as of late.

Link to comment
Share on other sites

13 minutes ago, ClausB said:

I just confirmed with the schematic that banking is at $D1FE.  Is there any software that is designed to use $D1FE for banking?

Link to comment
Share on other sites

  • 2 weeks later...

Something I've been thinking about is a 1090 Compy-Shop style card with ANTIC banking.  I re-worked the 320k card and added a chip.  I think this will work.  On an XL, pin 33 of the PBI will have to be jumpered to the /HALT line.  Admittedly, a 256k chip should probably be used.  However, they are more scarce than the AS6C4008 and the AS6C4008 is about $1 more than the AS6C2008.  The next time I order boards, I'll get one of these made....

 

1323250622_192kCompyShopRAMCard.thumb.JPG.bd6a9830503c2832fa68c4b40d5cb317.JPG

Edited by reifsnyderb
  • Like 9
Link to comment
Share on other sites

  • 2 weeks later...
20 minutes ago, kheller2 said:

Some of the original working sample 800XLs have +5v on the 600XL +5 lines.    See photographs: 

 

 

That's a pretty interesting example.  I wonder why they went to the system board design most 800XL's use.  I'll change the wording slightly to "Unused on most Atari 800XL’s".

 

I never understood why +5vdc was dropped on most 800XL's and why /HALT wasn't included on the PBI.  It would have been nice to have a proper pin to disable the MMU as well.

 

There is a theory that +5vdc was dropped due to the 600XL's use of the 1064.  It does seem to be a bit of a stretch, though.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

1090 Compy-Shop compatible 192k card...

 

I decided to add the /halt line to the PBI on my 600XL.  Afterwards, I installed the 192k Compy-Shop compatible test card and it is somewhat working.  I say somewhat because Simcheck 1.5 shows the memory properly.  SimTest 0.8 runs the memory tests on all banks and doesn't fine any errors.  SpartaDOS X doesn't load the drivers and displays:

 

Config error (132):  DEVICE SPARTA

Config error (132):  DEVICE SIO

Config error (132):  DEVICE ATARIDOS

Config error (132):  DEVICE SIDE3

 

Base RAM is working fine.

 

The SIDE3 cartridge loads fine, displays programs, and runs programs.

 

 

I am wondering if SpartaDOS X doesn't like having 192k Compy-Shop cards....

(I never noticed a problem on the 130XE.)

 

Edit to add:  I just ran XRAM Test 0.22.0 and it's not showing bank A7...which is really odd.

 

 

1916692427_192kcompysshopRAM.thumb.JPG.e7071d3b3ec219d9fbff5cf560259752.JPG

 

1615582043_192kcompyshopscreenshot.thumb.JPG.9ed61f171b6239dac22b1f811bbc4619.JPG

 

1905723598_600xlwhaltonpin33.thumb.JPG.865c42dfd5d5db51b760c8fe2b96f1b1.JPG

Edited by reifsnyderb
  • Like 2
Link to comment
Share on other sites

<sigh>  Ok, here's what I found.

 

The board logic is sound.  SimCheck and SimTest work perfectly.  SpartaDOS X and eXtended RAM Test fail with the board.

 

I've studied the board logic, created a truth table, double-checked solder joints, re-soldered anything suspicious, etc., etc.  I firmly believe the board is sound and the problem is software related.

 

Looking through the Altirra Hardware Reference manual, there is no entry for a 192k Compy-Shop board.  So, there's a possibility the software isn't looking for it.  The other issue is that the 130XE pulls the PORTB banking bits (2 and 3) high.  If the software is expecting to start out with bits 2 and 3 high, the banking will fail.  As a test, I disabled PORTB bit 6 and the results from test software was similar.  Looking at the banks that are detected, and the bits that would set, it's entirely possible the test software is expecting bits 2 and 3 to start high.  So, I am going to go with that theory.  The solution would be to re-design the entire board such that bits 2, 3, and 6 are assumed to start high.  😞

 

Link to comment
Share on other sites

Ok.  I think I am getting to the bottom of this latest card and SpartaDOS X.  However, this still doesn't explain why the cards I've got that work, work.

 

I also found this in the SpartaDOS X programming guide:

 

COMTAB+$1C (PBMASK) contains ones on all bits, which, when set in PORTB, cause
memory bank switching at $4000-$7FFF. The bit 4 is set too, and it should not be
counted; on a stock 130XE the mask’s value is $1C, or %00011100. Less the bit 4, two
bits are set, which means four additional memory banks, or 64 KiB. Similarly, on a
320 KiB Compy Shop extension the mask has a value of $DC or %11011100. Less bit 4,
four bits are set, which means 16 additional memory banks. If the extension is Axlon-
compatible (or there is no extension at all) the mask is zeroed.

 

Anyhow, PORTB can be read to determine what bits are set.  Writing to PORTB changes the bits.  By default, PORTB has all bits set high and even it's outputs are held high by resistors.

 

My PORTB shadow circuitry has been defaulting my bank bits low on the card.

 

So, if a bank is selected by first reading PORTB then making bank selections based on what is read, the bank bits will initially be set high.  On the other hand, if a piece of software never reads PORTB, to act upon it, it can just set the bank and use it without encountering this problem.  I believe this is why the memory test programs usually work.

 

I just put together a brand new 320k 1090 RAMBO card and that doesn't work with SpartaDOS X, either.  It does work fine with all of the memory check programs, however.  My belief is that if I re-design the card so that the PORTB shadow circuitry defaults to the PORTB bank bits being high that the problem will be resolved.  <sigh>

 

Paging @drac030 for a confirmation....

Edited by reifsnyderb
  • Like 4
Link to comment
Share on other sites

I decided I may be able to test my theory by having the OS preset PORTB to $FF early in it's boot process.  So, I tried it and added the following to the OS boot code that executes shortly after the reset button is pressed or the computer is turned on:

 

; TEST INIT of PORTB
LDA 0xff
STA PORTB

 

This still didn't work.  SpartaDOS X still hangs right before the D1: prompt.   😞

 

Link to comment
Share on other sites

1 hour ago, reifsnyderb said:

LDA 0xff

If you really omitted the #, I believe it will not work. 

 

LDA #0xFF

 

You might also set the control register to a defined value before writing to PORTB:

 

LDA #0x3C

STA PBCTL

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

2 hours ago, DjayBee said:

If you really omitted the #, I believe it will not work. 

 

LDA #0xFF

 

You might also set the control register to a defined value before writing to PORTB:

 

LDA #0x3C

STA PBCTL

Thanks for posting this.  When you showed I missed the # sign, I didn't know whether to laugh or cry.  Either way, i just tested this as fixed and SpartaDOS X stilled failed to reach the D1: prompt.  So, I guess setting the registers to all ones wouldn't work.   😞

 

Link to comment
Share on other sites

Ok.  I just loaded Prince of Persia, which requires 128k of RAM, using the 1090 320k memory card and it works.  The memory tests work.  The banks are the same as the 320k PBI card.  While the 320k PBI card works with SpartaDOS X and SysInfo 2.24, the new 1090 320k card does not.  The old 1090 320k card worked fine.

 

The differences between this 1090 320k card and the old (working) 320k card are as follows:

1.  The new card uses a 74F157 as opposed to a 74LS51 (and a couple other gates) for the banking logic.  Both systems provide identical logic with the main difference being the 74F157 chip is a lot cheaper than a 74LS51.  The 74F157 chip is now used on the 320k PBI card...so the logic works fine.

2.  The new card uses the computer's reset line to reset the banks (via the reset button) as opposed to having a capacitor/resistor preset on the banks.  The result is that you can reset the card without powering the 1090 off.  The new 320k PBI card now uses the reset line as well...so this is tested and working.

3.  The new card has a memory disable which uses an extra AND gate.  This permits other cards, on the 1090, to disable the memory just like the computer's memory can be disabled from the 1090.  The plan is to have a card that can re-map the memory to provide other features.  This feature can be removed by breaking a solder jumper so that the card would function on a standard 1090.  I've tried the card with both settings.  The PBI 320k card does not have this feature as it wouldn't make sense.

 

There are no other differences between the old 1090 card and new 1090 card.  I am contacting @drac030 to see if he can provide any insight as to what SpartaDOS X may be looking for...

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