Jump to content
IGNORED

Gauging interest in hardware expansion box


Spaced Cowboy

Recommended Posts

Hi all,

 

Some of you may have been following the progress of the project in its own thread but for the last 6 months or so, I've been designing a PCI-style expansion box (similar to the old 1090XL) for 8-bit computers. I now have a design I'm good to go with, and I'm trying to figure out if it's going to be viable economically. A new thread because this is a bit different to the build-log...

 

Here's what the box will provide:

  • 5 card-edge slots (PCIe x2 connectors in fact) which can each accept an expansion card, have full read-access to the bus, and can raise interrupts to the main CPU to indicate that they have data to transfer. The interface from card to the ARM CPU is via SPI, which pretty much every microcontroller has support for, so developing expansion cards ought to be pretty easy.
  • 32 MB of SDRAM. Yes, megabytes. As well as emulating the standard memory paging that XE's etc. provide, I'm planning on providing a memory-aperture interface to allow much easier control over access to data.
  • VGA output, generated by interpreting the traffic over the system bus, so no internal modification needed. Basically this will monitor what ANTIC does over the bus, and implement it within the frame-buffer on the...
  • 400 MHz ARM CPU. This will be running in one of 2 modes, either pretending to be ANTIC and outputting a resolution-doubled VGA signal at 640x480, or running as a separate graphics subsystem, driving the screen at up to 1024x768 in either 16-bit true-colour or 256x24-bit colour palette.
  • USB host. I'm intending this to allow for keyboard and mouse to be attached to the box, but it can support up to 7 devices if the driver is written.
  • SD-card. All this data-space will need a way to get information into and out of the machine quickly. SD card to the rescue.
  • Serial port, with full hardware flow-control on a DB9 interface
  • FPGA - there's an FPGA on-board, which will help with some of the behind-the-scenes logic, but will also have lots of extra space left over. I'm thinking of things like a 100MHz 6502 or 4 running in parallel with the main CPU and with access to the frame-buffer... We could also implement FPUs or, well, lots of things :)

 

On the Atari range, the expansion box will attach via either the ECI or the parallel port, with a small interface board to manage the necessary magic to get the expansion box talking to the host. There will be a pass-through cartridge port so you can plug cartridges into the expansion box and it then becomes a passive black-box (apart from video-out).

 

I'm planning on having an enclosure made for the box, which would run to an expected $45/box, and double that if we want to go for an enclosure around the bit that plugs into the Atari. At this moment in time the connector between these two boxes is expected to be a 40-way ribbon cable. There's a possibility of that being reduced down in the future to a more manageable cable format.

 

So that's nice :) Onto the hard part - the cost. Having the design done, and the BOM calculated, the price depends massively on interest - it starts to become reasonably viable at the quantity-50 mark. A bare-minimum cost would be:

 

  • Expansion box PCB, assembled. $280
  • 40-way ribbon cable. $10
  • Host PCB, assembled. $40 [guesstimate]
  • Expansion enclosure. $45 [guesstimate]

 

For a total of ~$375. Add shipping charges and call it $400. This assumes you're fine with a bare board poking out the back of your Atari for the ribbon cable to connect to, if not, add another $45 for the box to go around that.

 

So,would this be worth it to you ? I'm not asking for guaranteed pledges that you will buy it, I'm more concerned with "is there sufficient interest to go forward". Be aware that this isn't in a state where you can buy it and expect it to work just yet - I've got a lot of software/firmware to write before it "just works, and that's probably at least another 6 months effort after the prototype board comes back from the manufacturer.

 

BTW, the goal is, and has always been, to preserve much of the character of the old 8-bit, while offering more options if that is desired. The basic system could be set to just provide slots for expansion, and nothing else - this whole project grew out of "I'd like to plug in a midi-card"; or, it could do that and also provide the graphics onto a VGA monitor; or, you could have a keyboard/mouse-driven high-res high-colour machine with the 6502 controlling multiple co-processors that do most of the work and amazing graphics - how far you take it is up to you.

 

So, please let me know if you'd be interested - replying to this thread is fine. For those that want a look at what the board currently looks like, here it is in all its glory:

 

pbxl-gauge-interest.png

  • Like 1
Link to comment
Share on other sites

I think that without a "killer app" these could become expensive paperweights. Do you have anyone developing boards for this already?

 

 

Nope, that would be pretty hard at this point, since the programming interface isn't nailed down.

 

Long term ? I'm hoping to implement as much as I can of "Baldur's Gate" :)

 

I should possibly say that this is really to see if the design is feasible as-is. I'd prefer to invest all that effort programming the thing and see some interest at the end - not for financial gain, but it's nice to see people using the result of your work. If it's just going to be "too damn expensive", then there's things I can do to cut down on the cost, but each of them come with a reduction in functionality...

Link to comment
Share on other sites

Without modification to the computer, it would have

1. 32MB of RAM

2. VGA output

3. USB Host

4. SD-Card Access

 

If that is correct, I am interested.

 

 

32 MB RAM - left top(ish)

VGA - bottom left

USB host - actually USB OTG, so both host and device but not at the same time, left middle(ish)

SD-card - left top

 

So all of those are in the plan-of-record. The VGA s/w needs to be written, but the STM32H7 has LCD video support, with DMA-2D video-fetch. All you need to do is set up the frame-buffer registers, and tell it to go. The hardware circuit basically takes that digital data and converts it to an analogue VGA signal. That reduces the problem to recognizing ANTIC reads over the bus, and interpreting the data correctly. The FPGA will kick in to help here, so the CPU isn't slowed down by constantly checking the bus contents - it's just easier to do that sort of stuff in hardware.

 

I made sure the STM has 32-bit access to the SDRAM, so it can maximize its video potential - there's a PDF from ST that gives details on what can and can't be done, but for the 640x480 standard doubled-ANTIC display, the chip has sufficient SRAM on-board (1MByte) to handle it all internally anyway, it's only higher resolutions that will need the SDRAM.

 

The USB stack needs to be written as well, although people have already interfaced mouse/keyboard to the STM32 - I'm expecting to stand on their shoulders to do that. It will either need to do the same thing as TK-2 (interface directly with POKEY via a small ribbon cable) to make it driver-less on the Atari side, or we could have a software driver (installed by the hardware, so no disks or anything), which interacts with VKEYBD ($208,209) or similar.

 

SD-card access, well the STM32 has hardware support for that, so it's a matter of providing a driver, typically H: if I understand correctly. I may want to make it something different (F: for Flash, maybe ?) so it can work alongside other devices like the XEL-CF3 without conflict.

 

You can read my thoughts on the memory-aperture idea for the 32 MB of RAM here, in the original thread - basically allowing the 6502 to page through memory at will by writing registers defining the start and extent of the aperture, and in fact to set up multiple apertures throughout the 6502 memory map.

 

One aside on the VGA idea - I think it ought to be possible to tell the ARM chip to emulate things like artifacting - since it has the frame buffer at its disposal, and it has an eternity (by CPU standards) in the HBLANK/VBLANK to get the display ready for the next frame - about 580,000 instructions in VBLANK in fact. In the same vein, I think PAL blending ought to be do-able, so it ought no longer matter where your s/w comes from, at least from a video perspective - the cycle count thing I can't help with :)

  • Like 1
Link to comment
Share on other sites

Interested. Price is high, but looking fwd to software development to justify it more..... sounds like a big playground for ideas developers, which I am not, so really hoping this excites those folks.

 

The VGA mirror is interesting, could be like a no soldering plug-in Sophia board. or potential take it a level further and emulate VBXE graphics too

It would seem the 32MB RAM could potentially map like an XE/Rambo compatible bank switching up to 1MB, and Axlon banking potentially to 4MB... or just custom SDX Ramdisk driver to access it all natively...

or full motion video reading from SD, by just updating mapped RAM... or double buffering... barely any CPU usage on Atari...

 

Maybe future Ethernet card. mount ATR's from network file shares... Access at PBI speeds. RTC time sourced from NTP, R: emulator over Telnet

Link to comment
Share on other sites

interested, but it is really expensive, have just sold my old hyundai for less :)
how about joining efforts with eclaire or 1088 mini atx boards for a truly modern reproduction of our 8-bitters? i guess the price would drop a bit, too as some components would be already there.

Edited by pirx
Link to comment
Share on other sites

Interested. Price is high, but looking fwd to software development to justify it more..... sounds like a big playground for ideas developers, which I am not, so really hoping this excites those folks.

 

The VGA mirror is interesting, could be like a no soldering plug-in Sophia board. or potential take it a level further and emulate VBXE graphics too

It would seem the 32MB RAM could potentially map like an XE/Rambo compatible bank switching up to 1MB, and Axlon banking potentially to 4MB... or just custom SDX Ramdisk driver to access it all natively...

or full motion video reading from SD, by just updating mapped RAM... or double buffering... barely any CPU usage on Atari...

 

Maybe future Ethernet card. mount ATR's from network file shares... Access at PBI speeds. RTC time sourced from NTP, R: emulator over Telnet

 

The VGA *might* be able to do VBXE-style graphics. I don't have a good feel yet for how fast the Arm CPU will be able to do blits and so on. Certainly the memory is there for the video display, but it depends on how fast the hardware can be emulated. Doing VBXE-style graphics, on the other hand, really ought to be feasible - when you're doing it in the native mode of the device, it's a lot easier.

 

I haven't mentioned it, but there's a 4-position dip-switch to tell the board how you want memory to appear on boot. At some point, I'll assign each position to a memory-expansion style and you can choose how you want the memory to initially appear. It's only going to set a register in the device, which will also be software-changeable, so you can change it after boot if you want. There's so *much* memory that even high-res graphical games with their memory-hungry resources ought to be very feasible.

 

The 'services' section of my memory aperture post goes into detail about how you could stream data through memory from the SD card to get high-res audio to play continuously - there's no reason the same approach couldn't be taken with a video player. I also ought to mention that the STM32H7 has a hardware JPEG codec that I'll be exposing via API. Motion-JPEG ought to be relatively trivial to get working - H264 might be more challenging - it *is* only a 400MHz CPU :)

 

interested, but it is really expensive, have just sold my old hyundai for less :)

how about joining efforts with eclaire or 1088 mini atx boards for a truly modern reproduction of our 8-bitters? i guess the price would drop a bit, too as some components would be already there.

 

 

Regarding the price - I understand it's expensive, but I think you're getting quite a lot for the cost. I do in fact expect it to interact with the 1088XEL (though I'm not sure how the 40-way ribbon cabling is going to work) since that's what I have (as well as an original XE, XL, and 800 :) It'll just use the ECI port built into the motherboard. I would note that my 1088XEL cost me ~$850 assembled though (twice, since it was stolen once) - and I don't think the eclaire will be cheap, either...

 

Assuming there's enough interest, I'll be going ahead with the prototype, for which I can make a minimum of 5 boards - that's going to come to ~$2300, which is ok for *me* (at this point I'm so invested in the project that I'd do it for any cost, sunk-cost fallacy, what's that ?) but I can't see low-volume being viable for many people. Even at 20 units, the prices goes up for everything - eg: the assembled PCB price is $334 per board.

 

You'd be surprised also, that the costs might actually rise slightly - the PCB is a 6-layer board, and doing large 6-layer boards is expensive. One cost-reduction strategy (that would require a complete board redesign, so I'm not keen at this stage) would be to put the large PCB with the slots into a 2-layer board (cheaper) and have the FPGA and STM32 on SO-DIMMs attached to that 2-layer board, so their individual 6-layer boards could be smaller and cheaper. Trying to fit all of the 1088XEL or Eclaire components, as well as the extra FPGA and STM32 would mean a much larger 6-layer board.

  • Like 1
Link to comment
Share on other sites

This quantity, (14-16 as I type), is not sufficient to warrant a run, IMHO. Prices would climb dramatically if we have so little interest.

 

I'll go ahead and make the prototype anyway, and keep working on it just for me, but it'd need 3x the interest that it's currently gathering to make it viable for a "public" release. Maybe once I start showing what it can do :)

 

Cheers for the interest, those who chimed in :)

 

Simon.

  • Like 1
Link to comment
Share on other sites

I could be very interested even at that price. 80 column mode built in to the VGA, or just a scaler to map Atari modes to VGA resolutions? Have to be ready to purchase before I go into fixed income mode. It sounds like everything I always wanted Atari to deliver before they sold out to Jack.

Link to comment
Share on other sites

I'm am VERY interested. I just finished doing a PBI mod to my 1200XL, which I now use my Syscheck 2.2 board on, but the REAL reason I did the mod in the first place, besides because I could, was in expectation and hopes of Dropcheck from Bit's of the Past would finish and produce the 1090XLR talked about here on AA and on her site, though it seems like things have stalled on it for now? But this is the first time I've heard of your box. I don't know how much the 1090XLR would cost if delivered, but I think that's for a box without actual expansion cards from her, and those one would buy from 3rd parties, like TH_FF was to be working on a version of Syscheck for it I believe? The price does seem a bit high here, but I understand what you are getting for it, I'm just not sure if I need it all. It makes it tougher to know for sure if this is a separate project from Dropcheck's 1090XLR, since it seems some people were already working on cards for it, will developers support two different expansion boxes?

 

Both seem to be pretty up in the air, ATM, so I stick with VERY INTERESTED for me at this point, and I'll wait and see which pans out first, and/or the costs options of both expansion boxes when the time comes closer to their possible production. And as The Doctor said, it also depends when it's available and if I have the money, I often miss out on lots of cool stuff because these two things don't align with each other.

Edited by Gunstar
  • Like 2
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...