From the field...

For What It's Worth...

February 14th, 2019:
On Aging Parents, Life and Loss

I’ll be honest with you, this post is going to be challenging for me to write and for some to read. I’ll do my best if you do the same. Let’s get started:

When I last updated, I explained that we had a lot going on. As it turns out, I didn’t know the half of it. In October of 2017, both of my parents were celebrating Halloween, handing out candy and commenting on everyone’s costumes with our family in my brother’s house. They still lived in their home that my grandfather built. 15 months later… my mom has passed away and dad is alone in assisted living.

Within a month, my parents’ health began to worsen in alternating increments. The first big scare was Christmas morning (2017) when my mother was too weak to get out of bed and ended up in the hospital with a UTI. A few months later and we were taking her to urgent care because she “fell and hurt her knee”… in retrospect, she probably had a small stroke. We took her to the ER that night (another UTI, too) and decided in the ER with the whole family that it was time to find an independent living community.

We briefly pursued this direction a few years earlier, but my father was very resistant. They had too much “stuff” and weren’t ready to part with it. In hindsight, the additional care might have improved their quality of life significantly. This time, everyone was very serious about the endeavor. We kept my mom apprised of our progress while she get better in the hospital. We established a budget and timeline, then researched a few communities. After a handful of visits, we arranged a company to move them and their 2 pets. In just 3 weeks, they were living in a moderately-sized 1-bedroom apartment on the ground floor about 15 minutes from their house. At first, it seemed promising. The meal plan and care from the staff helped, but my parents continued to “take turns” in the hospital each needing care a few times over the next 3 months. The peak of this situation occurred mid-summer, 2018. My father was hospitalized (and later in long-term physical rehab) for a serious infection for almost 2 months while my mom was at the apartment alone. We maxed out the care program offered by the community, but the staff wasn’t trained to the level of care she truly needed. We didn’t realize that her dementia/Alzheimer’s had progressed to moderate. She wasn’t drinking enough water, not eating enough food and just not taking care of herself. When we visited, she put on a great show. We didn’t know how much help she really needed.

In late August, the day before my father returned to their apartment, my mom went to the ER by ambulance. She was having a dementia-related panic attack exacerbated by confusion from yet another infection. This was the first time mom looked really bad in the hospital… but she appeared to get better quickly, even joking in the hospital. Her care was extended by a stay in a rehab facility near their apartment. Eventually, she was even walking (with help) and making plans for Halloween in a few months. She was in the hospital and rehab for 5 weeks.

During my mom’s recovery, our family decided to upgrade my parents’ care to assisted living with guidance from the hospital staff. We identified a handful of assisted living locations and decided to move to a community very close to their house (which were just finishing cleaning out to prepare for sale). The cost was significantly greater, but the level of care increased accordingly. The staff is amazing, their apartment is very nice (2 bedroom to accommodate all of their stuff) and their pets were welcome.

Things seemed to calm down for a few weeks, but it was obvious that mom’s dementia was worsening exponentially. In the evenings she was more confused and prone to repeatedly calling out. For years, she could use an iPad for crossword puzzles, video calls, email and web browsing… now she had trouble turning it on or figuring out how to charge it. The staff tried to monitor her fluid intake, but could only do so accurately during meals. Mom, always the social perfectionist, continued to put on a good show in the dining hall.

Mom’s plans for Halloween would never happen: on October 30th mom was back in the hospital. Their new apartment was closer to their “old neighborhood” and allowed for mom to be transported to a familiar hospital nearly around the corner from my brother’s house. We didn’t know then how much time we would be spending at that hospital, but were very glad to have the care, guidance and support of the staff at Beaumont in Grosse Pointe. This stay was different: mom was having trouble swallowing and the speech therapist wasn’t able to get her to follow instructions consistently. We discussed moving mom to the memory care area of their community for closer monitoring and therapy. She was in the hospital/rehab through November, but we were able to drive her to their community for Thanksgiving dinner. This time, mom went back to the hospital (followed by rehab) briefly before returning home.

We wanted to celebrate mom’s 80th birthday a week-or-so before Christmas, but realized that her health was very complicated and unstable… and had to call it off when she returned to the hospital 3 days before her birthday. Again, this stay in the hospital took its toll on mom. We didn’t know it, but the repeated infections weakened her to the point where she couldn’t fight off pneumonia. It just wasn’t detected with tests or examinations and she went home (against protest) instead of rehab.

A week later (Jan 2) and Mom was in the ER with respiratory failure. We all rushed to the hospital and the staff explained that she needed a breathing tube. Her kidneys weren’t working well and her (existing) heart condition was the root cause. I can still remember the minute-by-minute details, but will spare you. After a few days, her condition improved slightly and the breathing tube was removed, but her respiration never fully recovered. Her other organs were not working correctly. At the same time, my father was admitted to the hospital. With all of the stress, he wasn’t taking his medications and had to be admitted. This turned out to be a blessing: he was able to spend time with my mom.

While on the topic of blessings, climate change provided us with oddly warm weather so a smooth 50+ mile commute each morning for updates from the ICU staff was possible. The construction on ALL of the expressways between our house and the hospital wrapped up, further shortening travel time. Mom was able to recognize all of us until she became unresponsive and that time meant a lot to us.

Gina and I went home to have dinner and rest for a night after a few days at the hospital, but we got a call that mom had taken a turn. I went to the hospital and joined by brother and dad. The doctors told us that we only had a few days (at most)…

Mom’s pastor was out of the country, so our pastor and his wife visited, talked to the kids and spent time with us. We moved to a peaceful room and my brother and I stayed with mom until she passed peacefully. We cried a bit, but were grateful for the time we had with her. It was hard telling my dad, but he was able see her one more time, too. We started to make arrangements and my dad’s health improved enough to go to a nearby rehab for a few weeks. He’s home now and we’re preparing for mom’s memorial this weekend.

I never prepared for my parents to be “old” or get sick. I knew one day they would be gone and tried to brace myself, but caring for them and putting together a plan was more than I expected. The past 15 months have been a roller coaster of work, fear, worry, stress, sadness and (sometimes) relief. We should have planned better but luckily my mom had clear instructions for us to follow as her health declined. We’ve learned a lot and still have a lot to take care of, but I want to share some of the basics in case they help others now that I’ve had some time to reflect and gather my thoughts:

  • Be active. Visit your aging parents as frequently as possible. Get them out and about.
  • Don’t take anything lightly. The big things send them to the hospital, the small things are all warnings. Some of the major flags for our situation were trouble swallowing, not drinking enough fluids, missing medications, “small confusions” that ended up being UTIs and eventually dementia.
  • Be involved in their medical care and listen to the doctors. Ask questions. If possible, keep a journal and share it with their healthcare providers.
  • Know their medications. Make sure all of the meds are taken when they are supposed to be.
  • Keep track of their important documents including government-issued ID.
  • Make a budget plan. Update it frequently.
  • Don’t rush into things. Evaluate all of your options: care, housing, medical treatment, funeral arrangements, etc. At the same time, don’t postpone things unnecessarily. This seems contradictory, but there’s a balance to be found.
  • Value the time you have together and do everything you can to preserve your memories. (I’ve never been a big photo/video creator.)

Our family grieves in waves. Happy memories outnumber the difficult ones from recent months… but those memories are most fresh and both bring tears. In time, I know the hard times will fade and happy thoughts will once again take over. I crafted a pair of photo boards for my mom’s memorial service and this helped me more than I expected. We trying our best to keep dad happy; his grand-kids are a constant source of support and new, happy memories. We are working with him to improve his health so that he can more actively participate in our family events and, hopefully, outings. We’ve been dreading the future for so long. It’s nice to look forward to things again and hope for continued improvement and family time.

- Duane

August 31st, 2017:
Late Summer 2017 Update

Well, no racing for us this year. The combination of a 1-year old and new engine/new racing class didn’t really work out. We’ve been able to spend some quality time with Kara at the state and metro parks, plus a few great trips to Northport, MI. The weather has been nice, but my work schedule (especially having my home office in the Mountain time zone) has severely limited my time outside during the week. Hopefully this will ease up soon in my new-ish role (promoted back into Sr. Management again: Sr. Director).

I’ve done a lot of work cleaning up our workshop this year. I’ve meant to clean it up and prepare to insulate/heat the shop so I can install the new engine in my racecar… but it’s turned into a lot of cleanup and corrections for lack of ventilation from our new roof (circa 2009). I also spent a few hours replacing the suspension and lifting my Jeep due to a need for new tires and shocks.

I’ve been keeping up with my retro computer collection: everything is still working and I find an few hours per week to enjoy my Amigas, PCs, Macs and Commodore machines. I’m almost through my Leisure Suit Larry bucket list: wrap up the series. I’ve owned about 3 or 4 versions of the game series (or parts of it) over the years and it’s time to finally wrap it up! (I took a short break for Space Quest and Police Quest in there, too.) I added a SX-64 Executive "e;portable" to my collection earlier this year and have had my eye on few Apple IIc computers, but the price or condition haven’t been up to snuff.

Most recently, I’ve been working on capturing/digitizing a few boxes of 8mm/Hi8/DV that literally fell out of my closet a week ago. I’ve found some amazing stuff on those tapes: lots of high school wrestling, some hanging out with friends, and an emotional collection of holiday footage with many family members that have since passed. The process is relatively slow as I must capture each tape in real-time. However, my setup is surprisingly effective: a Sony Hi8 camera connected via analog S-Video and Audio (when capturing 8mm and Hi8) to my Sharp DV Camera, connected via Firewire 800 to an Apple Thunderbolt Lightning Cinema Display, connected to my 2011 Macbook Air via Thunderbolt with an external Thunderbolt drive for storage. Both cameras are time base corrected resulting in decent quality considering the source media. The capturing process is taking a long time, but it’s mostly hands-off… the real work will be sorting, editing and finalizing for DVD (all source is 480p at best). Some of the content might make it to YouTube, but I’ll likely keep it private for friends.

That sums up a lot from the past few months. Seems like each season I hope to make more regular updates to my blog, but I end up doing this instead. More to come?

- Duane

February 8th, 2017:
Lessons Learned By A New Father (Part 2)

Christmas Eve Kara and DuaneWe’re almost at the 7 month mark with Kara. Everyone said that we should take lots of pictures because time moves so quickly. It’s true! It’s hard to remember the tough parts in the first 3 months and the progress made in months 4 – 6 is incredible! Here are more lessons learned:

  1. I mentioned in my last article that it gets a lot better after week 10… that’s true! But, 3 months is like cresting a hill and seeing nothing but sunshine, green trees, and blue water. You finally feel like your effort is paying off.
  2. That bedtime routing really starts to pay off after 3 months. We got a few full nights of sleep and it was amazing. We also woke up the next morning, double checked the baby monitor, and went to her room to make sure she was ok. We couldn’t believe she slept for 11 hours!
  3. Don’t get cocky, though. Babies occasionally regress. Our first experience with a regression was also Kara’s first cold. She just started sleeping through the night (at least a few times in the same week) and then she got an upper-respiratory/head cold. She barely slept for an hour at a time. It was rough. Then, we got sick. I was afraid of coughing and waking her up, so I slept on a sofa in the basement. It took a lot of effort to get back into a routine after Kara recovered from that cold.
  4. If your baby attends daycare, they’re going to get sick. Our line of thinking is that she will have a better developed immune system eventually… but it can be tough. She’s had 3 colds in the past 4 months… each time making her fussy and depriving us all of sleep.
  5. Despite the previous note on daycare, it’s so worth it. We think that Kara is very well socialized. The schedule at daycare helps establish a rhythm that we continue on weekends and holidays and it keeps things running smoothly. She participates in a lot of activities and the staff has helped her make a number of keepsakes. Kara is genuinely happt to see the staff when we drop her off in the morning.
  6. Around 4 months or so, Kara needed less constant handling and was happier to be on her tummy to play (with supervision, of course). She also started playing in an exer-saucer… kind of a bouncy seat that helps develop leg and core muscles. We could set Kara in her exer-saucer or on a play mat within eyeshot while we cook dinner or clean.
  7. Diaper rash and dry skin… we’ve figured out the few occasions that we’ve encountered to far… but it’s probably going to happen for you too. We found that a 2-layer approach to diaper rash works best: thick coat of bag balm followed by a zinc-oxide moisture barrier. Spread that stuff on like cake frosting! The dry skin ended up being a combination of winter (dry air and furnace heat indoors) and the baby-safe liquid soap we were using. We switched soap and mom lotions Kara up with Aquaphor every night before getting into her sleeper and sleep sack… and no more blotchy dry skin.
  8. At 6 months we started to introduce real food: blended sweet peas, bananas, pears, carrots, squash, mangos, chicken w/ sweet potato, etc. Each are blended and frozen into little 1 oz. servings. We can then pop them into the microwave for 10 seconds and mix with a little nursing milk. Kara has been very excited about this new activity. It’s mostly for fun, as the majority of her calories still come from nursing.
  9. Baby isn’t the only one to enjoy new activities with real food… get ready for baby turds. I noted in my last article that diapers from nursing weren’t too bad. While not the most horrifying experience, that first turd can be quite a surpise… especially if baby just enjoyed carrots! The smells are a little worse, but honestly, if you’ve been changing baby’s diapers regularly, you’re pretty well conditioned for the task by now
  10. At 6 months, Kara is focused on things around her. She anticipates things (like the next knee bounce or kiss). She watches the door and waits for us to get her when she cries in her crib. She is more engaged with us when playing and she gets a focused, intense expression on her face when she’s trying to figure something out (like reaching for blocks, trying out a new toy, or discovering a button on her outfit).
  11. We’ve gone on a few outings together and she’s had a blast: a week ago we went to the computer store for the first time. I was pretty confident that it would go well as Kara has been going to the supermarket with us since she was a few weeks old. She generally enjoys looking at all of the colorful boxes on the shelves as we roll down the isles. The computer store was a little more challenging. We went on the observed New Year holiday… along with what seemed like every other technophile in Southeast Michigan. Kara was starting a cold, but was still an absolute angel. She wanted to get out of her carrier and have me hold her… but really wanted to see all of the exciting new things on the shelves of the store. It was a little scary… especially because we ventured out on our own. I asked my wife if she would like to see a movie while Kara and I went out. This weekend, we went to Legoland in a nearby mall with my brother and his family. It was our first “kid activity”… also a huge success, it’s given us confidence in our decision to visit Disneyworld in April!

Kara is just starting to babble. She’s holding herself up on all fours, turning around on the floor and sitting up on her own. She’s not crawling yet, but we feel like it’s right around the corner. Gina and I refer to Kara as “smooshy” for the first 3 months. She had not yet developed much of a personality, lacked eye contact, and rare smiles were like oxygen to a drowning person. At 6 months, it can be hard to remember those times when your baby smiles when she wakes up and recognizes your face, giggles when you play together, or reaches for you when she’s ready to be picked up.

Stay tuned. I’m pretty sure I’ve barely scratched the surface of this whole new dad thing. I doubt I’m right about a lot of this, but it’s working pretty well for me at the moment. Let’s see what happens in a few more months…

- Duane

October 19th, 2016:
Upgrade Amibian and Enable WiFi

UPDATE 12/1/17: Amibian 1.4 (or newer) is available, has wifi support and the latest Jessie updates plus a ton of great new feature that make it easier to use than my instructions below!!!!

In my previous post I outlined the (many) steps involved in setting up a raspberry pi 3 in a pi-top laptop case as an Amiga laptop. Since, I can’t leave well enough alone, I decided that I wanted to get wifi working and make sure my distribution was more up-to-date than the official Amibian distribution offered. Here are the steps I took to make this happen (at least the steps that I can remember):

It might be worthwhile to use Win32DiskImager (or equivalent) to make a backup of your SD card before trying this. I did and it gave me great peace of mind.

Update Your Pi

(Make sure your connected to a network with Ethernet. Each step will take a while to execute… that’s normal.)

  1. “apt-get update”
  2. “apt-get upgrade”
  3. “apt-get dist-upgrade”
  4. “apt-get install rpi-update”
  5. “rpi-update”
Fix Automatic Login
  1. Login using the Amibian defaults: root/1234… or whatever you’ve changed them to
  2. Edit (see the previous article for file editing from the shell) /etc/systemd/system/getty.target.wants/getty@tty1.service as such:
    1. Change the “ExecStart=” line to: “ExecStart=-/sbin/agetty –autologin root %I”
    2. Change the “Restart=” line to: “Restart=no”
  3. Save and exit the editor
  4. “reboot”

Functionally, you should be back to where you were before starting the upgrade process: Your computer boots and automatically starts the Amiga Emulator. Note, however, that when you quit the emulator “exit” no longer restarts the emulator. Instead it exits the current terminal session. If you want to restart the emulator, just execute your startup script with “/bin/bash ~/.profile”. If you accidentally type “exit” out of habit and want to get back into a terminal session, press alt-fn-F2 (or any other alt-function-key combination) to switch to a different terminal session.

Install The Wireless Stuff

These instructions assume that you’re using a Raspberry Pi 3 with a built-in wifi interface. Other adapters might be able to leverage some of this info, but the firmware parts probably won’t apply.

  1. Install the wireless tools package: “apt-get install wireless-tools”
  2. Install wpa supplicant for secured wireless networks: “apt-get install wpasupplicant”
  3. Configure your wireless connection:
    1. Create and edit a wireless network config file named “/etc/wpa_supplicant/wpa_supplicant.conf” that contains:
    2. Change “network_id” and “password” to your access point’s SSID and passphrase. Keep the quotes around the values in that file, though!
  4. Configure your wireless network interface:
    1. edit “/etc/network/interfaces”
    2. Change or add the wlan0 section to…
      auto wlan0
                  iface wlan0 inet dhcp
                  wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
  5. Unplug your Ethernet and “reboot”
  6. When your computer restarts, Quit the emulator and test your wireless configuration from the shell with: “ifconfig -a”. You should see something like:
    eth0      Link encap:Ethernet  HWaddr b8:27:eb:07:e5:49  
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    lo        Link encap:Local Loopback  
              inet addr:  Mask:
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:8 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1 
              RX bytes:1104 (1.0 KiB)  TX bytes:1104 (1.0 KiB)
    wlan0     Link encap:Ethernet  HWaddr b8:27:eb:52:b0:1c  
              inet addr:  Bcast:  Mask:
              inet6 addr: fe80::ba27:ebff:fe52:b01c/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:14966 errors:0 dropped:9 overruns:0 frame:0
              TX packets:1307 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:1728707 (1.6 MiB)  TX bytes:171182 (167.1 KiB)

    With an IP address properly configured for wlan0.

There you have it! The official Amibian distribution will be updated soon, but I couldn’t wait. If this all seems a little over your head, it might be worth waiting for a packaged solution such as theirs. Please comment with corrections, suggestions, and feedback! Happy Amiga-ing!

- Duane

October 14th, 2016:
How To Build An Amiga Laptop Using Raspberry Pi 3

My wife tells me that I’ve been overcompensating for my adolescent technolust now that I can actually afford some gadgets. I’m not arguing… especially with my latest project: an Amiga laptop that gets about 10 hours of battery life. I wanted an Amiga so badly when I was younger. They were expensive though and I made do with my Commodore 64c. I’ve since owned 4 Amigas (A600, A1200, A2000 w/ Video Toaster and A4000T w/ Video Toaster), and still own 2 of them. When laptops became more attainable, I lusted for one as well… finally buying on with my web development earnings in 1997. So, I figured that there must be some way to combine two of my fixations into one sill creation: The Amibian Laptop.

Amibian Laptop

WARNING: Always properly shut down your Pi from the command line before powering off. SD Cards tend to corrupt when abruptly powered off while reading/writing. The commands are simple: “poweroff” (turns off the power) and “reboot” restarts the Pi. Note: I used Windows to prepare my SD card, the references to software below are based on this platform. Linux,
and Mac OS both have solutions that can be found with a little search engine effort.

The Parts

  1. Pi-Top Laptop Case (includes keyboard, 13″ display, touchpad, and interface for rpi). I also recommend buying a pi-top speaker.
  2. Raspberry Pi 3 (Model 3 has the best performance and can be purchased from pi-top above or separately for less convenience and possibly a lower price)
  3. A heatsink for the Pi. (It gets quite hot when emulating.)
  4. A good-sized micro-sd card. I like having a few around to experiment with new versions and make backups. 32-64 gigs will store every WHDLoad game and demo ever made with room to spare for MOD files and Deluxe Paint.
  5. A 1080p hdmi display (might work with other television resolutions, but I used a 1080p monitor… more on this later)…
  6. An Ethernet cable to copy software, games, music, etc. once you’re set up.

The Software

  1. Amibian! So far the most direct, lightweight, and best performing UAE image I’ve used.
  2. SD Card Formatter
  3. A way to extract the Amibian RAR file such as 7-Zip for Windows, The Unarchiver for MacOS or just use unrar for Linux.
  4. Software to write the image file to your micro sd on aWindows, Mac or Linux system.
  5. Kickstart ROMs. This is the “bios” (and part of the operating system) for Amiga computers. There are 2 ways to get these legally, both via Cloanto. I used the Amiga Forever distribution, which is a great product in and of itself (get the “plus” version at least to ensure you get all of the kickstart versions for WHDLoad). Alternatively, you can buy the Amiga Forever Essentials for Android and extract the ROM files for a little less money. I haven’t done it, so your mileage may vary.
  6. Workbench 3.1 adf files. This is the operating system that we will install. ADF stands for Amiga Disk File. Workbench 3.0 will work too, but 3.1 has some nice refinements. Cloanto’s Amiga Forever Plus distribution includes Workbench 3.1 adf files.
  7. Classic Workbench from Bloodwych. I recommend the UAE build available here.

The Process

Assembly and Basic Set Up
  1. Assemble your pi-top following the latest instructions provided. Of course, you don’t need a pi-top to make a modern Amiga emulation box, but c’mon… IT’S AN AMIGA LAPTOP!!!
  2. Boot into pi-top os using the provided micro-sd card. Make sure everything works. Read the inside of the pi-top speaker box to install the software for the speaker. Make sure your audio is working in pi-top os (go to youtube or something) before you try setting it up for Amibian. Knowing your hardware is working beforehand might save you some time later.
  3. Using another computer, format your new, larger micro-sd card using SD Card Formatter (see software, above).
  4. Extract the Amibian image file downloaded in step 1 of The Software, above, using the unRAR software from step 3, above.
  5. Image your freshly formatted micro-sd card with the extracted image using the software from step 4 above. Note: Windows users will probably not be able to mount the .img file, nor read the micro-sd card once you have imaged it. Windows will likely even tell you that it is corrupt. If you’ve followed these instructions, I’m 91.675% certain it’s not corrupt as you’ll see in a few steps. Linux users need not worry, but honestly, you’re probably used to doing things the hard way and will have a blast with this…
  6. Insert the new Amibian-imaged micro-sd card into your pi-top (if you use the ethernet method below, connect an ether cable before powering on) and turn it on. You pi-top screen is going to look bad… like “OMG, I just cooked this thing” bad. But, Amibian is just configured with a really incompatible screen mode by default. Here’s where that 1080p display comes in handy:
    1. Disconnect the pi-top display from the raspberry pi board’s hdmi connector and plug in your HDMI 1080p display. You should now see the uae4arm-rpi menu.
    2. Click “quit”. (Pro-tip: once you’ve quit UAE, you can restart from the shell by simply typing “exit”… or just type “reboot” to reboot and UAE will start automatically, again.
    3. From the command line/shell prompt, use your favorite (cough-VI-cough) text editor to modify /boot/config.txt. (If you don’t know how to use vi, which is built-in to this distribution, install “nano” with “apt-get install nano”. Open the file to edit by typing “nano /boot/config.txt”. Move around the file with the cursor keys. Save and exit by pressing “ctrl-k”, then “x”. To cancel (exit without saving), press “ctrl-c”.)
    4. Add “hdmi_drive=2” (without the quotes, of course).
    5. Change “hdmi_group=1” to “hdmi_group=2”.
    6. Change “hdmi_mode=16” (or whatever it is by default, I don’t remember) to “hdmi_mode=81”.
    7. For more information on these settings check out https://www.raspberrypi.org/documentation/configuration/config-txt.md.
    8. Save your changes
    9. Type “reboot”
    10. Your pi-top should reboot and be quite nice to look at now.
    11. Follow the instructions on the Amibian site to get your system set up. I’ll also cover what worked for me in the steps below as of the time of this writing.
  7. From the uae4arm-rpi menu, click “quit” (again) and type “raspi-config” and press enter
  8. Choose “Expand Filesystem” to let the Rasbian installation expand to fill your entire micro-sd card.
  9. While you’re in the config screens, change a few settings that will help later:
    1. Configure your location and keymap in Internationalsation Options
    2. Enable SSH in Advanced Options -> SSH (you’ll need this for SFTP/copying files and remote management of your PI, the username is “root”, the password is “1234”… really…)
    3. Enable SPI (Advanced Options -> SPI) which will allow you have your laptop automatically poweroff when you poweroff your Pi as well as adjust display brightness.
    4. Enable I2C (Advanced Options -> I2C) which you will need for your pi-top speaker (pt-speaker) to work.
    5. Set your audio to “auto” (Advanced Options -> Audio) so that you can choose your audio output manually later if needed.
    6. “Back” out of the setting menus and click on “Finish”. You will be prompted to reboot, which you should do.
Amibian/uae4arm-rpi Configuration

Reality check time: you should have a booting system with a display that is working at native resolution in the shell and use4arm-rpi menu. We’ve set up your kernel modules for sound and power control. It’s time to install Workbench (Amiga OS). You can simply install a vanilla version of Workbench 3.1 using the adf files from Amiga Forever Plus, but I will be detailing the instructions for the beautiful Magic Workbench for UAE from Bloodwych. Either way, you’re going to need the Workbench ADF files…

Here are the modified instructions from Bloodwych to configure both a Picasso 96 (fancy, hi-res desktop) install as well as a more compatible ADVSP install (that you can switch between):

  1. Unpack the archive by double clicking its icon (do this on your regular computer)
  2. Place an uncompressed 3.0 (or 3.1) ROM file into the ROMS directory (on your pi-top), renaming it “kick3.rom” (I copied amiga-os-310-a1200.rom from the Amiga Forever Plus “shared” directory to my pi-top’s “/root/amiga/kickstarts” directory using sftp, then renames it to “kick3.rom”… if you have the space, just copy all of the rom files over. You’ll be using some of them to set up WHDLoad later. Then create a directory in /root/amiga called “hdd”. Copy “System_ADVSP.hdf” and “System_P96.hdf” from the unpacked Classic Workbench folder (ClassicWB_UAE_v28) to “/root/amiga/hdd” on your pi-top using sftp. Copy the entire “Software” directory from Classic Workbench’s “Hard Disk” directory to “/root/amiga/” on your pi-top. Finally, copy the Workbench ADF files from Amiga Forever Plus’s “shared” folder to the “/root/amiga/floppys” directory on your pi-top using the same method.)
  3. (Start or restart your pi-top. Remember, if you’re already in the UAE menu, click “quit”, then type “reboot” and press enter.)
  4. (Go “Configurations” in the left menu and click on “Run Me First, then Delete” ONCE.)
  5. Select “Paths” from the left hand menu – tick “Use relative paths” and click “Reset to defaults” (This step doesn’t apply to uae4arm-rpi. Instead, select “ROM” from the left hand menu. Then click on the “…” button, navigate to “/root/amiga/kickstarts” and choose kick3.rom. Click on “Hard drives” in the left menu and navigate to “/root/amiga/hdd” and choose “System_P96.hdf” for DH0:, “root/amiga/Software” for DH1 and “/root/amiga/PC” for the device named “PC”. Select “Configurations” and save.
  6. When asked to insert a Workbench 3 disk, hit F12 (use the “fn” key to get F12 to work), enter the Floppy Drives tab and select an ADF for DF0: (Select “amiga-os-310-workbench.adf” that you copied to “floppys” above. I ran through the entire installation process following the instructions when prompted until it told me to remove the Workbench disk and reboot.)
  7. Go to the “Configurations” section and double-click/load (single click) “Run Me Second then Delete”
  8. Select “ROM” from the left hand menu. Then click on the “…” button, navigate to “/root/amiga/kickstarts” and choose kick3.rom. Click on “Hard drives” in the left menu and navigate to “/root/amiga/hdd” and choose “System_ADVSP.hdf” for DH0: this time, “root/amiga/Software” for DH1 and “/root/amiga/PC” for the device named “PC”. Select “Configurations” and save.
  9. Click “Restart” and follow the on-screen instructions.
  10. When asked to instert a Workbench 3 disk, hit F12, enter the Floppy Drives tab and select an ADF for DF0: (Select “amiga-os-310-workbench.adf” that you copied to “floppys” above.)
  11. In the “Configuration” menu, select, then “Load” each of the A1200 and A4000 configurations. Using the information from the steps above, then select the appropriate Kickstart ROM (kick3.rom should work, or you can try the other ROMs available if you like) and fix the paths for the Hard Drives.
  12. Pat yourself on the back, grab your favourite bev and enjoy! (Whew! That was a lot of work!)
Making It Pretty

From here on out, you have a working Amiga laptop. Be sure that you “Quit” UAE from the F12 menu, and “Shutdown” from the shell/command line before powering off your pi-top!

Time for another reality check. You’re practically a pro at this stuff now. You should now be able to boot into one of your configurations. I prefer the A4000 Turbo, myself. You probably wish it was a little higher, resolution, right. Well, here’s how we do that:

  1. In your emulated Amiga, open the “System” hard drive icon on the left. Then open “Prefs”, followed by “ScreenMode”. In the left-hand menu, scroll down and select “UAE: 1024×768 32bit RGBA”, then click “Use”. This doesn’t save the setting, so if you reboot, you’ll be back at the lower-resolution ScreenMode. If everything looks good, open the “ScreenMode” Pref again, select “UAE: 1024×768 32bit RGBA” and click “Save”… now it will stick.
  2. If you prefer to use every pixel of your display (like I do), you can change the aspect ratio in your UAE settings. Press fn+F12 (which I’ll just refer to as F12 from now on) to open the UAE menu. Make sure you’ve selected the correct configuration, then select the “Display” category from the left. Uncheck “4/3 ration shrink”. Return to the “Configuration” menu and click “Save”. If you like, you can mess around with the other settings in the “Display” section, but make sure you either save your settings or write them down beforehand. If you want a more accurate display, you can re-check “4/3 ratio shrink” any time you feel the need.
Optional: Tweaking Your Setup (Sound, Power and Display Brightness)

This section is optional, but I believe it really completes the configuration. Without making these changes, you will need to manually power off your pi-top when shutting down, your display won’t be as bright as it could be, and you will need to use your headphones instead of the pt-speaker.

Display Brightness
  1. The detailed instructions can be found here. I’ve summarized them for reference with additional notes specific to Amibian. The installation scripts and instructions on github assume you’re using the normal Raspberian distribution, which we are not.
  2. Quit UAE (F12, click “Quit”).
  3. From the shell prompt, type “mkdir Downloads”, this creates a Downloads directory
  4. Type “apt-get install wiringpi git “
  5. “cd Downloads”
  6. “clone git://github.com/rricharz/pi-top-install”
  7. “cd pi-top-install”
  8. “chmod +x install*”
  9. “apt-get update”
  10. “apt-get upgrade”
  11. “cp brightness /usr/bin”
  12. “chmod +x /usr/bin/brightness”
  13. You can now adjust your display brightness with “brightness [0-10]” (use a number between 0 and ten to set brightness directly) or just “brightness increase” and “brightness decrease”.
Auto Poweroff When You Shutdown
  1. “cd /root/Downloads/pi-top-install”
  2. “mkdir /opt/pi-top”
  3. “cp poweroff /opt/pi-top”
  4. “chmod 755 /opt/pi-top/poweroff”
  5. “systemctl disable pt-poweroff.service”
  6. “cp pt-poweroff.service /lib/systemd/system”
  7. “cd /lib/systemd/system”
  8. “systemctl enable pt-poweroff.service”
  9. Now, when you quit UAE and execute either a “shutdown now” or “poweroff” command, your pi-top will actually turn off!
Sound via pt-speaker
  1. This was the most difficult part of the installation. It took a lot of guesswork and I don’t know if I recall every step. You may need to refer to the instructions on github to figure it all out. This is what worked for me in the end.
  2. “apt-get install -y python-smbus wiringpi i2c-tools”
  3. “cd /etc/apt/sources.list.d”
  4. “nano pi-top.list” (or use another editor)
  5. add this on it’s own line in the file: “deb http://apt.pi-top.com/raspbian/ jessie main”
  6. Save and exit
  7. “wget http://apt.pi-top.com/apt.pi-top.com.gpg.key”
  8. “apt-key add apt.pi-top.com.gpg.key”
  9. “mkdir /etc/xdg” (it might already exist and that’s fine)
  10. “mkdir /etc/xdg/lxsession” (it might already exist and that’s fine)
  11. “mkdir /etc/xdg/lxsession/LXDE-pi” (the pt-speaker package expects this directory to be here to install correctly even though we don’t need it)
  12. “apt-get install -y pt-speaker”
  13. Add this line to /etc/rc.local before “exit 0”: “/usr/bin/pt-speaker &” (this initializes the speaker when your computer starts)
  14. Reboot with either “reboot” or “shutdown -r now”
  15. You should now be able to hear audio. Test it out with Eagle Player and listen to a MOD file. If you are unable to hear audio through the pt-speaker, check out the troubleshooting info in the instructions.

There you have it! A fully functional Amiga laptop… with a not so great keyboard… but all, in all, it’s a great device! If you want to boot into a UAE configuration without the menu appearing first, just uncheck “Show GUI on startup” in the F12 menu, under “Miscellaneous” and change “./uae4arm -f conf/autostart.uae” in /root/.profile to point to your prefered configuration, such as “./uae4arm -f conf/A4000\ Turbo\ v2.uae”.

Check back in a little bit. I may post a summary of the steps needed to get WHDLoad configured to play almost every game and demo ever made for the Amiga. WHDLoad is already installed in Classic Workbench, but there’s some more work to do to get it working. You can read about it here, or check out Nostaligia Nerd’s quick video overview here.

It is likely that I missed a step or have a few typos. I completed this project over a few days and documented everything very late at night a few days after I finished. Please share your questions and suggestions in the comments below. Note that comments are moderated so yours may not show up immediately. Thanks and good luck!

- Duane