#!/bin/bash

TRAP_STRIPPER_SED_CMD=`mktemp -u /tmp/ida-traps-$USER-XXXXXXXX`

sed 's#\(.*\) \(.*\)#s/\\b_\2\\b/dc.w    \$\1 ; _\2/#' > "$TRAP_STRIPPER_SED_CMD" << HEREDOC
A000 Open
A001 Close
A002 Read
A003 Write
A004 Control
A005 Status
A006 KillIO
A007 GetVolInfo
A008 Create
A009 Delete
A00A OpenRF
A00B Rename
A00C GetFileInfo
A00D SetFileInfo
A00E UnmountVol
A00F MountVol
A010 Allocate
A011 GetEOF
A012 SetEOF
A013 FlushVol
A014 GetVol
A015 SetVol
A016 FInitQueue
A017 Eject
A018 GetFPos
A019 InitZone
A01B SetZone
A01C FreeMem
A01F DisposePtr
A01F DisposPtr
A020 SetPtrSize
A021 GetPtrSize
A023 DisposeHandle
A023 DisposHandle
A024 SetHandleSize
A025 GetHandleSize
A027 ReallocHandle
A029 HLock
A02A HUnlock
A02B EmptyHandle
A02C InitApplZone
A02D SetApplLimit
A02E BlockMove
A02F PostEvent
A030 OSEventAvail
A031 GetOSEvent
A032 FlushEvents
A033 VInstall
A034 VRemove
A035 OffLine
A036 MoreMasters
A038 WriteParam
A039 ReadDateTime
A03A SetDateTime
A03B Delay
A03C CmpString
A03D DrvrInstall
A03E DrvrRemove
A03F InitUtil
A040 ResrvMem
A041 SetFilLock
A042 RstFilLock
A043 SetFilType
A044 SetFPos
A045 FlushFile
A047 SetTrapAddress
A049 HPurge
A04A HNoPurge
A04B SetGrowZone
A04C CompactMem
A04D PurgeMem
A04E AddDrive
A04F RDrvrInstall
A050 CompareString
A050 RelString
A051 ReadXPRam
A052 WriteXPRam
A054 UprString
A055 StripAddress
A056 LowerText
A056 LwrString
A057 SetAppBase
A057 SetApplBase
A058 InsTime
A059 RmvTime
A05A PrimeTime
A05B PowerOff
A05C MemoryDispatch
A05D SwapMMUMode
A05E NMInstall
A05F NMRemove
A060 FSDispatch
A061 MaxBlock
A063 MaxApplZone
A064 MoveHHi
A065 StackSpace
A067 HSetRBit
A068 HClrRBit
A069 HGetState
A06A HSetState
A06C InitFS
A06D InitEvents
A06E SlotManager
A06F SlotVInstall
A070 SlotVRemove
A071 AttachVBL
A072 DoVBLTask
A075 SIntInstall
A076 SIntRemove
A077 CountADBs
A078 GetIndADB
A079 GetADBInfo
A07A SetADBInfo
A07B ADBReInit
A07C ADBOp
A07D GetDefaultStartup
A07E SetDefaultStartup
A07F InternalWait
A080 GetVideoDefault
A081 SetVideoDefault
A082 DTInstall
A083 SetOSDefault
A084 GetOSDefault
A085 PMgrOp
A086 IOPInfoAccess
A087 IOPMsgRequest
A088 IOPMoveData
A089 SCSIAtomic
A08A Sleep
A08B CommToolboxDispatch
A08D DebugUtil
A08F DeferUserFn
A090 SysEnvirons
A091 Translate24To32
A092 EgretDispatch
A094 ServerDispatch
A09E PowerMgrDispatch
A09F PowerDispatch
A0A4 HeapDispatch
A0AC FSMDispatch
A0AE VADBProc
A0DD PPC
A0FE TEFindWord
A0FF TEFindLine
A11A GetZone
A11D MaxMem
A11E NewPtr
A122 NewHandle
A126 HandleZone
A128 RecoverHandle
A12F PPostEvent
A146 GetTrapAddress
A148 PtrZone
A15C MemoryDispatchA0Result
A162 PurgeSpace
A166 NewEmptyHandle
A193 Microseconds
A198 HWPriv
A1AD Gestalt
A200 HOpen
A204 PBControlImmed
A205 PBStatusImmed
A207 HGetVInfo
A207 PBHGetVInfoSync
A208 HCreate
A209 HDelete
A209 PBHDeleteSync
A20A HOpenRF
A20B HRename
A20B PBHRenameSync
A20C HGetFileInfo
A20C PBHGetFInfoSync
A20D HSetFileInfo
A20D PBHSetFInfoSync
A20E HUnmountVol
A210 AllocContig
A214 HGetVol
A215 HSetVol
A22E BlockMoveData
A23C MarkSensitiveEqualString
A241 HSetFLock
A242 HRstFLock
A247 SetOSTrapAddress
A256 StripText
A260 HFSDispatch
A285 IdleUpdate
A28A SleepQInstall
A28A SlpQInstall
A31E NewPtrClear
A322 NewHandleClear
A346 GetOSTrapAddress
A3AD NewGestalt
A43C CaseSensitiveEqualString
A440 ReserveMemSys
A456 UpperText
A458 InsXTime
A485 IdleState
A48A SleepQRemove
A48A SlpQRemove
A51E NewPtrSys
A522 NewHandleSys
A562 PurgeSpaceSys
A5AD ReplaceGestalt
A63C CaseAndMarkSensitiveEqualString
A647 SetToolBoxTrapAddress
A647 SetToolTrapAddress
A656 StripUpperText
A685 SerialPower
A71E NewPtrSysClear
A722 NewHandleSysClear
A746 GetToolBoxTrapAddress
A746 GetToolTrapAddress
A7AD GetGestaltProcPtr
A800 SoundDispatch
A801 SndDisposeChannel
A802 SndAddModifier
A803 SndDoCommand
A804 SndDoImmediate
A805 SndPlay
A806 SndControl
A807 SndNewChannel
A808 InitProcMenu
A809 GetControlVariant
A809 GetCVariant
A80A GetWVariant
A80B PopUpMenuSelect
A80C rGetResource
A80C RGetResource
A80D Count1Resources
A80E Get1IndResource
A80E Get1IxResource
A80F Get1IxType
A810 Unique1ID
A811 TESelView
A812 TEPinScroll
A813 TEAutoView
A814 SetFractEnable
A815 SCSIDispatch
A816 Pack8
A817 CopyMask
A818 FixATan2
A819 XMunger
A81A HOpenResFile
A81B HCreateResFile
A81C Count1Types
A81D InvalMenuBar
A81F Get1Resource
A820 Get1NamedResource
A821 MaxSizeRsrc
A822 ResourceDispatch
A823 AliasDispatch
A824 HFSUtilDispatch
A825 MenuDispatch
A826 InsertMenuItem
A826 InsMenuItem
A827 HideDialogItem
A827 HideDItem
A828 ShowDialogItem
A828 ShowDItem
A82A ComponentDispatch
A82B Pack9
A82C Pack10
A82D Pack11
A82E Pack12
A82F Pack13
A830 Pack14
A831 Pack15
A833 ScrnBitMap
A834 SetFScaleDisable
A835 FontMetrics
A836 GetMaskTable
A837 MeasureText
A838 CalcMask
A839 SeedFill
A83A ZoomWindow
A83B TrackBox
A83C TEGetOffset
A83D TEDispatch
A83E TEStyleNew
A83F Long2Fix
A840 Fix2Long
A841 Fix2Frac
A842 Frac2Fix
A843 Fix2X
A844 X2Fix
A845 Frac2X
A846 X2Frac
A847 FracCos
A848 FracSin
A849 FracSqrt
A84A FracMul
A84B FracDiv
A84D FixDiv
A84E GetItemCmd
A84F SetItemCmd
A850 InitCursor
A851 SetCursor
A852 HideCursor
A853 ShowCursor
A854 FontDispatch
A855 ShieldCursor
A856 ObscureCursor
A858 BitAnd
A859 BitXOr
A85A BitNot
A85B BitOr
A85C BitShift
A85D BitTst
A85E BitSet
A85F BitClr
A860 WaitNextEvent
A861 Random
A862 ForeColor
A863 BackColor
A864 ColorBit
A865 GetPixel
A866 StuffHex
A867 LongMul
A868 FixMul
A869 FixRatio
A86A HiWord
A86B LoWord
A86C FixRound
A86D InitPort
A86E InitGraf
A86F OpenPort
A870 LocalToGlobal
A871 GlobalToLocal
A872 GrafDevice
A873 SetPort
A874 GetPort
A875 SetPBits
A876 PortSize
A877 MovePortTo
A878 SetOrigin
A879 SetClip
A87A GetClip
A87B ClipRect
A87C BackPat
A87D ClosePort
A87E AddPt
A87F SubPt
A880 SetPt
A881 EqualPt
A882 StdText
A883 DrawChar
A884 DrawString
A885 DrawText
A886 TextWidth
A887 TextFont
A888 TextFace
A889 TextMode
A88A TextSize
A88B GetFontInfo
A88C StringWidth
A88D CharWidth
A88E SpaceExtra
A88F OSDispatch
A890 StdLine
A891 LineTo
A892 Line
A893 MoveTo
A894 Move
A895 ShutDown
A896 HidePen
A897 ShowPen
A898 GetPenState
A899 SetPenState
A89A GetPen
A89B PenSize
A89C PenMode
A89D PenPat
A89E PenNormal
A89F DisableDogCow
A89F EnableDogCow
A89F InitDogCow
A89F Moof
A89F Unimplemented
A8A0 StdRect
A8A1 FrameRect
A8A2 PaintRect
A8A3 EraseRect
A8A4 InverRect
A8A5 FillRect
A8A6 EqualRect
A8A7 SetRect
A8A8 OffsetRect
A8A9 InsetRect
A8AA SectRect
A8AB UnionRect
A8AC Pt2Rect
A8AD PtInRect
A8AE EmptyRect
A8AF StdRRect
A8B0 FrameRoundRect
A8B1 PaintRoundRect
A8B2 EraseRoundRect
A8B3 InverRoundRect
A8B4 FillRoundRect
A8B5 ScriptUtil
A8B6 StdOval
A8B7 FrameOval
A8B8 PaintOval
A8B9 EraseOval
A8BA InvertOval
A8BB FillOval
A8BC SlopeFromAngle
A8BD StdArc
A8BE FrameArc
A8BF PaintArc
A8C0 EraseArc
A8C1 InvertArc
A8C2 FillArc
A8C3 PtToAngle
A8C4 AngleFromSlope
A8C5 StdPoly
A8C6 FramePoly
A8C7 PaintPoly
A8C8 ErasePoly
A8C9 InvertPoly
A8CA FillPoly
A8CB OpenPoly
A8CC ClosePgon
A8CC ClosePoly
A8CD KillPoly
A8CE OffsetPoly
A8CF PackBits
A8D0 UnpackBits
A8D1 StdRgn
A8D2 FrameRgn
A8D3 PaintRgn
A8D4 EraseRgn
A8D5 InverRgn
A8D6 FillRgn
A8D7 BitMapRgn
A8D7 BitMapToRegion
A8D8 NewRgn
A8D9 DisposeRgn
A8D9 DisposRgn
A8DA OpenRgn
A8DB CloseRgn
A8DC CopyRgn
A8DD SetEmptyRgn
A8DE SetRecRgn
A8DF RectRgn
A8E0 OffsetRgn
A8E1 InsetRgn
A8E2 EmptyRgn
A8E3 EqualRgn
A8E4 SectRgn
A8E5 UnionRgn
A8E6 DiffRgn
A8E7 XOrRgn
A8E8 PtInRgn
A8E9 RectInRgn
A8EA SetStdProcs
A8EB StdBits
A8EC CopyBits
A8ED StdTxMeas
A8EE StdGetPic
A8EF ScrollRect
A8F0 StdPutPic
A8F1 StdComment
A8F2 PicComment
A8F3 OpenPicture
A8F4 ClosePicture
A8F5 KillPicture
A8F6 DrawPicture
A8F7 Layout
A8F8 ScalePt
A8F9 MapPt
A8FA MapRect
A8FB MapRgn
A8FC MapPoly
A8FD PrGlue
A8FE InitFonts
A8FF GetFName
A900 GetFNum
A901 FMSwapFont
A902 RealFont
A903 SetFontLock
A904 DrawGrowIcon
A905 DragGrayRgn
A906 NewString
A907 SetString
A908 ShowHide
A909 CalcVis
A90A CalcVBehind
A90B ClipAbove
A90C PaintOne
A90D PaintBehind
A90E SaveOld
A90F DrawNew
A910 GetWMgrPort
A911 CheckUpDate
A912 InitWindows
A913 NewWindow
A914 DisposeWindow
A914 DisposWindow
A915 ShowWindow
A916 HideWindow
A917 GetWRefCon
A918 SetWRefCon
A919 GetWTitle
A91A SetWTitle
A91B MoveWindow
A91C HiliteWindow
A91D SizeWindow
A91E TrackGoAway
A91F SelectWindow
A920 BringToFront
A921 SendBehind
A922 BeginUpDate
A923 EndUpDate
A924 FrontWindow
A925 DragWindow
A926 DragTheRgn
A927 InvalRgn
A928 InvalRect
A929 ValidRgn
A92A ValidRect
A92B GrowWindow
A92C FindWindow
A92D CloseWindow
A92E SetWindowPic
A92F GetWindowPic
A930 InitMenus
A931 NewMenu
A932 DisposeMenu
A932 DisposMenu
A933 AppendMenu
A934 ClearMenuBar
A935 InsertMenu
A936 DeleteMenu
A937 DrawMenuBar
A938 HiliteMenu
A939 EnableItem
A93A DisableItem
A93B GetMenuBar
A93C SetMenuBar
A93D MenuSelect
A93E MenuKey
A93F GetItmIcon
A940 SetItmIcon
A941 GetItmStyle
A942 SetItmStyle
A943 GetItmMark
A944 SetItmMark
A945 CheckItem
A946 GetItem
A946 GetMenuItemText
A947 SetItem
A947 SetMenuItemText
A948 CalcMenuSize
A949 GetMenuHandle
A949 GetMHandle
A94A SetMFlash
A94B PlotIcon
A94C FlashMenuBar
A94D AddResMenu
A94D AppendResMenu
A94E PinRect
A94F DeltaPoint
A950 CountMItems
A951 InsertResMenu
A952 DeleteMenuItem
A952 DelMenuItem
A953 UpdtControl
A954 NewControl
A955 DisposControl
A955 DisposeControl
A956 KillControls
A957 ShowControl
A958 HideControl
A959 MoveControl
A95A GetControlReference
A95A GetCRefCon
A95B SetControlReference
A95B SetCRefCon
A95C SizeControl
A95D HiliteControl
A95E GetControlTitle
A95E GetCTitle
A95F SetControlTitle
A95F SetCTitle
A960 GetControlValue
A960 GetCtlValue
A961 GetControlMinimum
A961 GetMinCtl
A962 GetControlMaximum
A962 GetMaxCtl
A963 SetControlValue
A963 SetCtlValue
A964 SetControlMinimum
A964 SetMinCtl
A965 SetControlMaximum
A965 SetMaxCtl
A966 TestControl
A967 DragControl
A968 TrackControl
A969 DrawControls
A96A GetControlAction
A96A GetCtlAction
A96B SetControlAction
A96B SetCtlAction
A96C FindControl
A96D Draw1Control
A96E Dequeue
A96F Enqueue
A970 GetNextEvent
A971 EventAvail
A972 GetMouse
A973 StillDown
A974 Button
A975 TickCount
A976 GetKeys
A977 WaitMouseUp
A978 UpdateDialog
A978 UpdtDialog
A97B InitDialogs
A97C GetNewDialog
A97D NewDialog
A97E SelectDialogItemText
A97E SelIText
A97F IsDialogEvent
A980 DialogSelect
A981 DrawDialog
A982 CloseDialog
A983 DisposDialog
A983 DisposeDialog
A984 FindDialogItem
A984 FindDItem
A985 Alert
A986 StopAlert
A987 NoteAlert
A988 CautionAlert
A98B ParamText
A98C ErrorSound
A98D GetDialogItem
A98D GetDItem
A98E SetDialogItem
A98E SetDItem
A98F SetDialogItemText
A98F SetIText
A990 GetDialogItemText
A990 GetIText
A991 ModalDialog
A992 DetachResource
A993 SetResPurge
A994 CurResFile
A995 InitResources
A996 RsrcZoneInit
A997 OpenResFile
A998 UseResFile
A999 UpdateResFile
A99A CloseResFile
A99B SetResLoad
A99C CountResources
A99D GetIndResource
A99E CountTypes
A99F GetIndType
A9A0 GetResource
A9A1 GetNamedResource
A9A2 LoadResource
A9A3 ReleaseResource
A9A4 HomeResFile
A9A5 GetResourceSizeOnDisk
A9A5 SizeRsrc
A9A6 GetResAttrs
A9A7 SetResAttrs
A9A8 GetResInfo
A9A9 SetResInfo
A9AA ChangedResource
A9AB AddResource
A9AC AddReference
A9AD RemoveResource
A9AD RmveResource
A9AE RmveReference
A9AF ResError
A9B0 WriteResource
A9B1 CreateResFile
A9B2 SystemEvent
A9B3 SystemClick
A9B4 SystemTask
A9B5 SystemMenu
A9B6 OpenDeskAcc
A9B7 CloseDeskAcc
A9B8 GetPattern
A9B9 GetCursor
A9BA GetString
A9BB GetIcon
A9BC GetPicture
A9BD GetNewWindow
A9BE GetNewControl
A9BF GetRMenu
A9C0 GetNewMBar
A9C1 UniqueID
A9C2 SysEdit
A9C3 KeyTrans
A9C3 KeyTranslate
A9C4 OpenRFPerm
A9C5 RsrcMapEntry
A9C6 SecondsToDate
A9C6 Secs2Date
A9C7 Date2Secs
A9C7 DateToSeconds
A9C8 SysBeep
A9C9 SysError
A9CA PutIcon
A9CB TEGetText
A9CC TEInit
A9CD TEDispose
A9CE TETextBox
A9CE TextBox
A9CF TESetText
A9D0 TECalText
A9D1 TESetSelect
A9D2 TENew
A9D3 TEUpdate
A9D4 TEClick
A9D5 TECopy
A9D6 TECut
A9D7 TEDelete
A9D8 TEActivate
A9D9 TEDeactivate
A9DA TEIdle
A9DB TEPaste
A9DC TEKey
A9DD TEScroll
A9DE TEInsert
A9DF TESetAlignment
A9DF TESetJust
A9E0 Munger
A9E1 HandToHand
A9E2 PtrToXHand
A9E3 PtrToHand
A9E4 HandAndHand
A9E5 InitPack
A9E6 InitAllPacks
A9E7 Pack0
A9E8 Pack1
A9E9 Pack2
A9EA Pack3
A9EB FP68K
A9EB Pack4
A9EC Elems68K
A9EC Pack5
A9ED Pack6
A9EE DECSTR68K
A9EE Pack7
A9EF PtrAndHand
A9F0 LoadSeg
A9F1 UnLoadSeg
A9F2 Launch
A9F3 Chain
A9F4 ExitToShell
A9F5 GetAppParms
A9F6 GetResFileAttrs
A9F7 SetResFileAttrs
A9F8 MethodDispatch
A9F9 InfoScrap
A9FA UnloadScrap
A9FA UnlodeScrap
A9FB LoadScrap
A9FB LodeScrap
A9FC ZeroScrap
A9FD GetScrap
A9FE PutScrap
A9FF Debugger
AA00 OpenCPort
AA01 InitCPort
AA02 CloseCPort
AA03 NewPixMap
AA04 DisposePixMap
AA04 DisposPixMap
AA05 CopyPixMap
AA06 SetPortPix
AA07 NewPixPat
AA08 DisposePixPat
AA08 DisposPixPat
AA09 CopyPixPat
AA0A PenPixPat
AA0B BackPixPat
AA0C GetPixPat
AA0D MakeRGBPat
AA0E FillCRect
AA0F FillCOval
AA10 FillCRoundRect
AA11 FillCArc
AA12 FillCRgn
AA13 FillCPoly
AA14 RGBForeColor
AA15 RGBBackColor
AA16 SetCPixel
AA17 GetCPixel
AA18 GetCTable
AA19 GetForeColor
AA1A GetBackColor
AA1B GetCCursor
AA1C SetCCursor
AA1D AllocCursor
AA1E GetCIcon
AA1F PlotCIcon
AA20 OpenCPicture
AA21 OpColor
AA22 HiliteColor
AA23 CharExtra
AA24 DisposCTable
AA24 DisposeCTable
AA25 DisposCIcon
AA25 DisposeCIcon
AA26 DisposCCursor
AA26 DisposeCCursor
AA27 GetMaxDevice
AA28 GetCTSeed
AA29 GetDeviceList
AA2A GetMainDevice
AA2B GetNextDevice
AA2C TestDeviceAttribute
AA2D SetDeviceAttribute
AA2E InitGDevice
AA2F NewGDevice
AA30 DisposeGDevice
AA30 DisposGDevice
AA31 SetGDevice
AA32 GetGDevice
AA33 Color2Index
AA34 Index2Color
AA35 InvertColor
AA36 RealColor
AA37 GetSubTable
AA38 UpdatePixMap
AA39 MakeITable
AA3A AddSearch
AA3B AddComp
AA3C SetClientID
AA3D ProtectEntry
AA3E ReserveEntry
AA3F SetEntries
AA40 QDError
AA41 SetWinColor
AA42 GetAuxWin
AA43 SetControlColor
AA43 SetCtlColor
AA44 GetAuxCtl
AA44 GetAuxiliaryControlRecord
AA45 NewCWindow
AA46 GetNewCWindow
AA47 SetDeskCPat
AA48 GetCWMgrPort
AA49 SaveEntries
AA4A RestoreEntries
AA4B NewCDialog
AA4B NewColorDialog
AA4C DelSearch
AA4D DelComp
AA4E SetStdCProcs
AA4F CalcCMask
AA50 SeedCFill
AA51 CopyDeepMask
AA52 HFSPinaforeDispatch
AA52 HighLevelFSDispatch
AA53 DictionaryDispatch
AA54 TextServicesDispatch
AA56 SpeechRecognitionDispatch
AA57 DockingDispatch
AA59 MixedModeDispatch
AA5A CodeFragmentDispatch
AA5C OCEUtils
AA5D DigitalSignature
AA5E TBDispatch
AA60 DeleteMCEntries
AA60 DelMCEntries
AA61 GetMCInfo
AA62 SetMCInfo
AA63 DispMCInfo
AA63 DisposeMCInfo
AA64 GetMCEntry
AA65 SetMCEntries
AA66 MenuChoice
AA67 ModalDialogMenuSetup
AA68 DialogDispatch
AA73 ControlDispatch
AA74 AppearanceDispatch
AA75 IconServicesDispatch
AA7D StartupDispatch
AA7E SysDebugDispatch
AA80 AVLTreeDispatch
AA81 FileMappingDispatch
AA90 InitPalettes
AA91 NewPalette
AA92 GetNewPalette
AA93 DisposePalette
AA94 ActivatePalette
AA95 NSetPalette
AA95 SetPalette
AA96 GetPalette
AA97 PmForeColor
AA98 PmBackColor
AA99 AnimateEntry
AA9A AnimatePalette
AA9B GetEntryColor
AA9C SetEntryColor
AA9D GetEntryUsage
AA9E SetEntryUsage
AA9F CTab2Palette
AAA0 Palette2CTab
AAA1 CopyPalette
AAA2 PaletteDispatch
AAA3 CodecDispatch
AAA4 ALMDispatch
AADB CursorDeviceDispatch
AAF2 ControlStripDispatch
AAF3 ExpansionBusDispatch
AAF3 ExpansionManager
AB1D QDExtensions
ABC3 NQDMisc
ABC9 IconDispatch
ABCA DeviceLoop
ABE0 QDExtensions2
ABE9 NameRegistryDispatch
ABEB DisplayDispatch
ABED DragDispatch
ABF1 GestaltValueDispatch
ABF2 ThreadDispatch
ABF6 CollectionMgr
ABF8 StdOpcodeProc
ABFC TranslationDispatch
ABFF DebugStr
HEREDOC


# relative paths please
cd "`dirname $0`/.."

T=`mktemp -u /tmp/ida-interleave-$USER-XXXXXXXX`

python3 IDA/cutter.py <(LC_CTYPE=C tr '\r' '\n' < OS/StartMgr/Boot3.a) <(sed -f "$TRAP_STRIPPER_SED_CMD" IDA/pure.asm | sed 's/^                /\t\t\t\t/') |
	sed 's/\(RESUME\|YIELD\)-IDA/redacted IDA macro/g' |
	sed 's/^\(\w\+\s\+\)=/\1set/' |											# ida uses = to set vars
	sed 's/\$600026BE/ipJumpTbl/' |											# specific
	sed 's/\(unk_\|word_\|dword_\|byte_\)\(\w\{1,4\}\)\b/\$\2/g' |			# memory addresses not yet programmed into IDA
	sed 's/\b_\(A\w\w\w\)\b/dc.w    \$\1/g' |								# underscore-trap... fix this!
	sed 's/\b\(d[0-9]\)-\(a[0-9]\)\b/\1-d7\/a0-\2/' |						# dodgy dX-aY register ranges => dX-d7/a0-aY
	cat > "$T" &&

LC_CTYPE=C tr '\n' '\r' < "$T" > OS/StartMgr/Boot3.a
