Disk icon!

Help me, Dana Sibera. You're my only hope.
This commit is contained in:
Elliot Nunn 2021-02-19 14:42:10 +08:00
parent 7a948b68fa
commit abf78881be
9 changed files with 157 additions and 0 deletions

View File

@ -647,6 +647,20 @@ DrvrTrashPacket
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DrvrControl
cmp.w #21,$1A(A0)
beq.s control_kDriveIcon
cmp.w #22,$1A(A0)
beq.s control_kMediaIcon
bra.s control_unknown
control_kDriveIcon
control_kMediaIcon
lea DrvrIcon,A2
move.l A2,$1C(A0)
clr.w $10(A0) ; ioResult = noErr
bra DrvrFinish
control_unknown
move.w #-17,$10(A0) ; ioResult = controlErr
bra DrvrFinish
@ -710,6 +724,75 @@ DrvrFinish
move.l $8FC,-(SP) ; jIODone
DrvrNoIoDone
rts
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DrvrIcon
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %11111111111111111111111111111111
dc.l %10000000000000000000000000000001
dc.l %10000000000000001000000000000001
dc.l %10101010101010011001010101010101
dc.l %10101010101010000001010101010101
dc.l %10101010101010000001010101010101
dc.l %10101010101010000101010101010101
dc.l %10101010101010000001010101010101
dc.l %10101010101010100101010101010101
dc.l %10101010101010000001010101010101
dc.l %10101010101010100101010101010101
dc.l %10000000000000000000000000000001
dc.l %11111111111111111111111111111111
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %00000000000000000000000000000000
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.l %11111111111111111111111111111111
dc.b 22, "AppleTalk NetBoot Disk", 0
DrvrEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

29
Icons/BMP2Asm.py Executable file
View File

@ -0,0 +1,29 @@
#!/usr/bin/env python3
import sys
import argparse
import struct
args = argparse.ArgumentParser(description='32x32 BMP to assembly icon (non-B&W becomes transparent)')
args.add_argument('bmp', help='BMP file')
args = args.parse_args()
bmp = open(args.bmp, 'rb').read()
sig, fsize, pixoffset = struct.unpack_from('<HLxxxxL', bmp)
pixels = [0] * 32 * 32
mask = [0] * 32 * 32
for i in range(32*32):
px, = struct.unpack_from('<L', bmp, pixoffset+i*4)
white = int((px & 0x00FFFFFF) == 0x00FFFFFF)
clear = int((px & 0xFF000000) == 00)
pixels[i] = int(0 if clear else not white)
mask[i] = int(not clear)
as_str = ''.join(str(x) for x in (pixels + mask))
for i in range(0, 32*32*2, 32):
print(' dc.l %' + as_str[i:i+32])

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>backingScale</key>
<real>1</real>
<key>mode</key>
<integer>0</integer>
<key>shapeSelectionFilename</key>
<string>shapeSelection</string>
<key>size</key>
<data>
NC10UHpTVFAQAAAAQD4AAAAAAAA/8AAAAAAAAA==
</data>
<key>softness</key>
<real>0.0</real>
<key>timestamp</key>
<real>635394549.72043705</real>
<key>transform</key>
<array>
<real>1</real>
<real>0.0</real>
<real>0.0</real>
<real>1</real>
<real>0.0</real>
<real>-4</real>
<real>0.0</real>
<real>0.0</real>
</array>
<key>version</key>
<integer>2</integer>
</dict>
</plist>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>backingScale</key>
<real>1</real>
<key>pathFilename</key>
<string>path</string>
<key>version</key>
<integer>1</integer>
</dict>
</plist>

Binary file not shown.