The Apple II’s ROM has the 8th bit set for all of its ASCII strings. This convention makes it difficult to search the ROM for hex strings quickly. This Python script takes an ASCII string and returns the HEX string with (and without) the 8th bit set.

Python Code

input_string = "Mega IIe"

def string_to_hex_ascii(input_string, set_bit_8=False):
    hex_values = []
    for char in input_string:
        # Get the ASCII value of the character ord() and convert it string
        # representing the hex() value
        #
        # [2:] strips the '0x'

        if (set_bit_8):
            hex_value = (hex(ord(char) | 0x80)).upper() # for Apple II, awww
        else:
            hex_value = (hex(ord(char))).upper()
        
        hex_values.append(hex_value[2:])

    return hex_values

def print_list_with_spaces(input_list):
    # Join the list elements into a single string with spaces in between
    result = ' '.join(map(str, input_list))
    print(result)

def print_og_string_formatted(input_string):
    result = '  '.join(input_string)
    print(result)

# Remind user of string
print("Og  : ", end='')
print_og_string_formatted(input_string)

# As-is ASCII in Hex
hex_values_raw = string_to_hex_ascii(input_string)
print("Raw : ", end='')
print_list_with_spaces(hex_values_raw)

# Hex with 8th bit set
hex_values_8bit = string_to_hex_ascii(input_string, True)
print("8bit: ", end='')
print_list_with_spaces(hex_values_8bit)

Disclaimer: I used ChatGPT to generate an initial script for converting an ASCII string to a list of hex values. Then, I wrote the rest.

Example

The Apple IIe Enhanced ROM has the string Apple //e. It is displayed at the top of the screen during boot. Here is the 7-bit ASCII version and the 8-bit version found in the ROM file at address:

Og  : A  p  p  l  e     /  /  e
Raw : 41 70 70 6C 65 20 2F 2F 65
8bit: C1 F0 F0 EC E5 A0 AF AF E5

The Retro Repairs RoundUp crew invited me to be a guest on episode 56 of their livestream. As their name implies, they discuss retro computers and, in many streams, how to repair them. We mostly discussed the Mega IIe project. Sean was another guest who talked about KansasFest 2024.

KansasFest is an Apple II conference. This year, it moved its venue to Springfield, Illinois. The name and the location might seem confusing; however, it was long held in Missouri. So, it is a case of the name sticking for historical reasons.

It was great to be on the show, especially since I recognized everyone from other aspects of the retro community. You can watch the full Retro Repairs RoundUp here.

I must extend a big “Thank You!” to Lewin Day at Hackaday for this excellent Mega IIe write-up. Accompanying the post is an archived recording of my Supercon 2023 talk. That talk is where I gave a complete overview of the Mega IIe project and showed off the final case design for the first time! This project is where I took the Mega-II chip out of an Apple IIGS and built a fully compatible Apple IIe around it—something that not even Apple ever did!