Archive for the 'SPI' Category

New hardware starts to roll in … Part 1

Monday, February 21st, 2011

I have been on a bit of a spending spree lately … I thought I would share what I have been buying as it comes in and then work it into my development plans.

My first items were some prototyping supplies from a place called – Proto Advantage

They have a good selection of stuff and prices are pretty reasonable



Vacuum Pen (TLVACPEN)
Premium Jumper Wires 6″ M/M Pack of 10 (WRMM10)
Premium Jumper Wires 6″ F/F Pack of 10 (WRFF10)
Magnifier 10x – Illuminated With High Power White LEDs (TLMAG01)
Deluxe Test Lead Set (TL-22)
Banana to Minigrabber Set (TL-12)
Solder Paste 0.5cc 63/37 Sn/Pb No Clean (SLD005CC-NC-PB)
Solder Paste Dispensing Needle Kit – 11 piece (DISPNDLEKIT1)
ESD Electronics Tweezers (TWESD-15)
TSOP-54 (II) (0.8 mm pitch, 10.16 mm body) PCB and Stencil Kit (PA0210-KIT)
PQFP-208 (0.5 mm pitch, 28 x 28 mm body) PCB and Stencil Kit (PA0202-KIT)

So you can probably tell from some of those items that I want to start experimenting with doing my own surface mount components for prototyping.

The second batch of items to arrive were some AVR XMega128 dev boards I recently acquired from ALVIDI.

The ones I picked up were the AL-XAVRB V2.0

These are nice boards at a very reasonable price – approx $45. Looking forward to see how I can integrate these into some of my co-processor based designs.

128K Flash, 8K SRAM, 2K EPROM, MicroSD socket and 16 or 32MB SDRAM

Still working on my follow up posts about RAM, STORAGE and NETWORK

Tik Tok, another year rolls by the clock …

Thursday, February 17th, 2011

I still get notifications from A2central, which I always read even though I was pretty much trying to tune everything else “Apple II related” out (except for shipping Uthernet’s in the pipeline).

If I may digress for a moment … for me it’s kind of like quitting smoking … very hard to go cold turkey but doable … then if you sucum to temptation and think I’ll just have just one or two … boom … your sucked right back into the vortex … (I still am cigarette free after 29 years but okay I’ll admit i have the odd Colt once in a awhile with a beer).  I don’t think i’ll ever quite be, 100% over,  I’d like to have a smoke feeling .

So now your wondering what’s this got to do with Apple II’s? Read on  …

On January 28th 2011, Sean posted a pointer to Robert Justice’s Apple IIc Smartport device posting on CSA2 … that was the thing that pulled me back into the vortex from my self induced “no Apple II tinkering” coma. If you’ve been reading my blog all along or read through my forums you know this a project I wanted to do. I had acquired a Chinook Ct-20c to reverse engineer it but got side tracked onto other projects. I am glad Robert finally figured it out. Way to go Robert!!

Re-creating Roberts project with my XGS AVR 8 development system using a MicroSD card was very straight forward. In fact getting the ascii terminal for debugging output gave me the most grief. Reading worked right way but I had to step the SPI clock down quite a bit in order for the write function to work properly. As it stand now, it works well in a IIc (no pass through support yet) and in a IIc+ works fine for the most part but still has an issue with the internal drive where it cannot be used after the external dirve has been initialized.  Haven’t been able to puzzle that one out yet.

:) So now it’s nice to be back if only part time ..

I spent the last few days reacquainting myself with some of the projects I was working on and look forward to actually completing some of this stuff.  I plan on resurrecting the IIcxmp project If anyone out there is still reading this blog and if you have any skills to help me debug this Apple IIc+ bus problem I would love to hear from you.

The IIcmxp is meant to be an internal option that centers around a memory upgrade, mass storage and networking. I had a 1MB SRAM based memory replacement in beta mode, working well in a IIc but still with bus issues in a IIc+. I had a SPI/SDcard interface (based on Daryl Rictors SPI code) in alpha mode reading SDCards. I had also purchased zero G wifi modules but not got the module hooked up or code ported from PIC/AVR land to 6502.

To get my feet wet again I plan step back and get the sub-components working in a regular Apple IIe/IIgs first before i reintegrate them for the IIcmxp.

That’s the basic plan .. I will follow up with three more posts, one for each section, where I see my journey going and what I will be looking at to get from point A to point B for each component.

So if your still following along … stay tuned …

May 21st Update

Friday, May 22nd, 2009

Uthernet Status – Invector has informed me that they received the new modules but need some time to test them and mount the connectors. I believe the earliest I would be able to ship out new cards will be the end of June. So there is light at the end of the tunnel :o)

SRAM Status – Last update I mentioned I wanted to “get the existing slinky hardware working rock solid on the //c+ so I have a good foundation in which to try and implement the AUX style memory interface.”      I have still not figured this one out and it’s got me stumped, so that’s putting damper on //cmxp progress. :o(

Apple II Emulators – I have spent some time doing some Applewin and kegswin coding. The Applewin update (in code review) is to enable paged EEPROM support for the possibility of a future ROMable version of IP65. The kegswin update adds Uthernet support in slot3 (alpha binary available).

SPI/SDCard status– I haven’t done much with the //c version of this hardware/software since last time but I am designing a 4 port 65SPI/EEPROM(32K) “development” card for the Apple //e in the meantime. This is the hardware equivalent to the software support I have/will code into Applewin.

Apr 19th Update

Sunday, April 19th, 2009
  • :( – not started yet //cmxp going to start looking at 65SPI and SDCard circuit next
  • Started working on this a week or so ago

  • To start with I repurposed a 4×6 perf board that already had a XC9572XL on it that I did my original devsel testing on. That’s it’s main function along with inverting the apple2 read/write signal for the sn74LVCCC4245A OCTAL DUAL-SUPPLY BUS TRANSCEIVER
  • The SPI logic is a copy of the code from Daryl Rictors 65SPI project. My thanks go out to Daryl for sharing this code with the community and patiently answering all my questions about it.
  • The code is running in a EZ-DIGITAL XC95144XL-TQ100 breakout board I purchased from Justin.
  • Murphys law came into effect when I inadvertently set an inversion flag on one of the Logic Analyzer probes which was attached to the MISO line. This stumped me for awhile.
  • Next up is to write some software to make a loadable disk driver for ProDOS so I can test things out in general. I want to see if the SPI controller runs into the same glitch on the IIc+ as my sram interface did.
  • Currently wired is a standard SDCard conenctor. I also have a MicroSD card connector wired up for the second SPI device. The third SPI device will be a wifi-card it is surface mountable so I need to make a mini break out for it.
  • The compact flash interface is mounted but needs to be wire wrapped to the remaining available pins on the CPLD.

Posting from OneNote

Sunday, February 15th, 2009

This is a test blog post from OneNote – been organizing my ideas and projects in it. It’s a pretty cool application.

Uthernet Status

    • Base Cards are out in manufacturing
    • Modules are delayed from Invector- no ETA at this point.

Been busy doing a few things in the background …

    • No progress on the CP2200 driver
    • Ordered 2 Applicard remakes from Alex Freed
    • Reorganizing my basement work area
      • Reorganized my desk space and filing areas
      • Put most loose stuff in see through plastic containers
      • Reviewed document Filing system
      • Documenting A2 Card collection
      • Documenting Embedded hardware kits
    • Deciding which SRAM chip to use
      • CYC1049
      • CY62148
      • CY62158 ( I think this is it) 1M x 8
    • Choices for a larger SRAM are
      • CY62167DV30 (2MB)
      • CY62177DV30 (4MB)
      • MT45W8MW16BGXMT (16MB)
    • Reviewing how to add battery backup to the SRAM circuit
    • Spent some cycles on possible breakout boards to ease further developments
      • Apple 2 Multi-bus breakout board ( org Apple II bus FPGA card got me thinking about this one)
        • Similar concept to 8 bit baby but with only Apple Bus connectors on it
          • 50 contact Apple II slot
          • 60 contact Apple II AUX slot
          • 44 contact IIgs Memory slot
          • 34 pin //c memory expansion connector
        • Center area would have room for a Large CPLD XC95144/288XL – probably be a TQ144 to PGA adapter
        • Connectors for daughter piggy back card to hold the downstream circuit. They would have the other mating side of the board connectors on the main board.
        • All signals are routed from the edge connector to closest board connector. They are also routed (san any power lines) to the closet usable pins on the cpld. Pins from the other side of the cpld are routed toit’s closest board connecter. These signals have possibly had logic applied to them and are for use by the down stream circuit. Since only one bus can be active at a time, having the other busses connect should not affect the downstream circuit.
      • Apple 2 EEPROM support on a 32 DIP DIP.
        • I took Rich Dreyer’s EEPROM circuit from the CFFA card and designed a PCB that mounts the required chips on a 32 pin DIP format to be used with a breadboard like the Littleproto II
        • This would make it easy to add EPROM support to cards under development.
      • Been refining a PSRAM breakout board for this chip MT45W8MW16BGX
      • Working with a few others on a Apple 2 SDRAM interface

  • Next on the Agenda
    • //cmxp going to start looking at 65SPI and SDCard circuit next

It’s been awhile …

Sunday, June 10th, 2007

I have been busy thinking/working on a few things .. but before I get into that I wanted to ramble on for a bit about why I like to use the Apple II as a learning platform for new technologies …

The Apple II was my first personal computer…. I learned from books and magazines about how computers actually work and not just how to use them … a few of my favorite programs were Rocky’s Boots (hardware logic gate game/teaching aid) and the 6502 simulator (you could see the program flow at the lowest level. That was the good old days back in the mid 80’s …

Fast forward to around about 2001 when I started having the retro urges and got all of my old stuff out. Once I started looking around, I also found out that I could afford to buy some of the old Apple II hardware that was previously out of reach for me back in the 80’s. While dong some research I came across hardware that had been developed for the Apple II long after I left the scene (Second Sight, RamFast). This intrigued me … I had the urge to build something myself ( I ended up making an Ethernet card). When looking around at what was available it became clear to me the way to go was to try and retro fit products developed for the embedded scene. This also led me to an interest in embedded systems. It seemed a natural fit to try an adapt embedded technology (lots of 8-bit stuff still being sold and developed) to the Apple II … I could satisfy two urges with one strategy.

Sure one could stop at buying the demo boards and using the built in tools that come with the SDK’s. It works for most other embedded developers but it certainly is more fun to learn about these things while applying them to our favorite retro platform.

When it comes to hardware, I have been primarily interested in connectivity and storage options …

  • Certain form factors like Compact Flash/MMC/SD/SDio seem appealing as they are fairly open (some more than others)
  • Certain interfaces like i2c/spi/usb/ethernet/wifi/are the typical methods for interfacing (in our case we also need a2bus(8bit parallel)/smartport(serial bit stream))
  • To build solutions one needs to determine if they can get by with using the native 6502/65816 or does one put an onboard co-processor to help offload the main CPU (such as a PIC/AVR or ARM chip).
  • One also has to think about using CPLD/FPGA where appropriate.

In the Apple II world, there are not many the havn’t heard about the CFFA card by Rich Dreher. This interface card was the first Apple II peripheral to use a compact flash slot. While it only supported true ide mode, the possibility was hanging there to use the i/o mode. The project uses an Altera CPLD to facilitate talking to the CF card and the a2bus. Rich was kind enough to share his project details.

More recently Alex Freed has released the Psuedo disk which implements an a2bus to MMC/SD card interface. It too uses a CPLD (xilinx) to talk to the a2bus but goes a few steps further by using a Atmel ATMega cpu to talk spi to the CPLD and the MMC/SD card. Alex has also has made his project details public.

There’s something about wifi that has always interested me – I spend time surfing the net looking at various projects – open source wifi stacks, I bought Fred Eady’as book on implementing 802.11b with micro controlers. The last cool project I found was a CF wifi implementation by Till Harbum called SPI2CF. This is a project where a AVR processor is interfaced via SPI to a CPLD that translates to CF ( the CF slot holds a CF wifi adapter).

So this leads me to my next project … I posted a while back about a Uber card that had a few of these technologies placed on it … I’ve taken that a step further and assembled a prototype for the memory expandable IIc that I hope to see to completion even if there is only one ever made. This project will bring together a combination of Alex’s and Till’s projects with the added enhancement of a 1Meg ram interface.

This (ambitious – for me) project will help develop my knowledge of these technologies. While i have the luxury of learning how to do the wifi and sd interfaces from Till and Alex, the CPLD implementation of the SRAM interface will be totaly new for me …. There is also a mini side project on how to make a field updatable ROM for the IIc/IIc+ as that will be a requirement for any of this to actually work in a IIc … I don’t see a problem retrofitting this back into a IIgs/IIe card.

If this gets finished then there becomes the possibility to make my first SMD (surface mount design) PCB to incorporate the design onto something small enough to fit under the IIc keyboard.

More details/pictures to be posted soon …