Making sense of 1M+ lines of pascal procedure names - Page 1
Forum section: electronics / general

author: dexters_lab
author_rank: Unknown
timestamp: July 25, 2018, 10:16:42 am
content: In my somewhat obsessive quest to discover the inner workings of my quantel paintbox i have discovered an internal diagnostic feature which allows me to dump out an entire list of the details of all the Pascal procedure names for the entire paintbox software. Which greatly helps with making sense of the 68000 disassembly in IDA Pro. The same diagnostic feature also allows me to disassemble it as well so the two things combined could produce a fully disassembled list of all the internal procedure calls. I would expect this feature was used by the quantel engineers to help debug their software.The output i have is all plain text and details one word of data per line with it's memory location, the original pascal procedure name and a line reference like the code section shown below.So far, my text file is 47Mb and has more than 1M lines in it detailing 1000s of procedures and i am estimating i am only about 1/2 way through... i would like to turn it into something more usable as having this big flat text file is not much use at all. Being able to use it with IDA Pro would be especially useful for obvious reasons.anyone have any bright ideas on how to do something with it?first column is memory location, then the two bytes of data at that location, then the name of the procedure & line number of the original pascal source code. I am pretty sure the (+-1) lines at the beginning are showing the local data for that procedure so the code starts at $465202 in this example.Code:$4651DE $FEA8 S8_SECURITY.encode_pwds 155 (+-1)$4651E0 $BFD5 S8_SECURITY.encode_pwds 155 (+-1)$4651E2 $6206 S8_SECURITY.encode_pwds 155 (+-1)$4651E4 $44FC S8_SECURITY.encode_pwds 155 (+-1)$4651E6 $2 S8_SECURITY.encode_pwds 155 (+-1)$4651E8 $4E76 S8_SECURITY.encode_pwds 155 (+-1)$4651EA $DEFC S8_SECURITY.encode_pwds 155 (+-1)$4651EC $4E S8_SECURITY.encode_pwds 155 (+-1)$4651EE $48E7 S8_SECURITY.encode_pwds 155 (+-1)$4651F0 $FFF8 S8_SECURITY.encode_pwds 155 (+-1)$4651F2 $47EE S8_SECURITY.encode_pwds 155 (+-1)$4651F4 $FEF6 S8_SECURITY.encode_pwds 155 (+-1)$4651F6 $49EE S8_SECURITY.encode_pwds 155 (+-1)$4651F8 $8 S8_SECURITY.encode_pwds 155 (+-1)$4651FA $2A3C S8_SECURITY.encode_pwds 155 (+-1)$4651FC $0 S8_SECURITY.encode_pwds 155 (+-1)$4651FE $FF S8_SECURITY.encode_pwds 155 (+-1)$465200 $2054 S8_SECURITY.encode_pwds 155 (+-1)$465202 $4A10 S8_SECURITY.encode_pwds 156 (+0)$465204 $6608 S8_SECURITY.encode_pwds 156 (+0)$465206 $16BA S8_SECURITY.encode_pwds 156 (+0)$465208 $F2D4 S8_SECURITY.encode_pwds 156 (+0)$46520A $6000 S8_SECURITY.encode_pwds 156 (+0)$46520C $112 S8_SECURITY.encode_pwds 156 (+0)$46520E $1028 S8_SECURITY.encode_pwds 156 (+0)$465210 $1 S8_SECURITY.encode_pwds 159 (+3)$465212 $C00 S8_SECURITY.encode_pwds 159 (+3)$465214 $7F S8_SECURITY.encode_pwds 159 (+3)$465216 $6310 S8_SECURITY.encode_pwds 159 (+3)$465218 $224B S8_SECURITY.encode_pwds 159 (+3)$46521A $2448 S8_SECURITY.encode_pwds 159 (+3)$46521C $3005 S8_SECURITY.encode_pwds 159 (+3)$46521E $12DA S8_SECURITY.encode_pwds 159 (+3)$465220 $51C8 S8_SECURITY.encode_pwds 159 (+3)$465222 $FFFC S8_SECURITY.encode_pwds 159 (+3)$465224 $6000 S8_SECURITY.encode_pwds 159 (+3)$465226 $F8 S8_SECURITY.encode_pwds 159 (+3)$465228 $2254 S8_SECURITY.encode_pwds 159 (+3)$46522A $1010 S8_SECURITY.encode_pwds 159 (+3)$46522C $C085 S8_SECURITY.encode_pwds 161 (+5)$46522E $81FC S8_SECURITY.encode_pwds 161 (+5)$465230 $3 S8_SECURITY.encode_pwds 161 (+5)$465232 $5340 S8_SECURITY.encode_pwds 161 (+5)$465234 $48C0 S8_SECURITY.encode_pwds 161 (+5)$465236 $2F00 S8_SECURITY.encode_pwds 161 (+5)$465238 $7C00 S8_SECURITY.encode_pwds 161 (+5)$46523A $BC97 S8_SECURITY.encode_pwds 161 (+5)$46523C $6E00 S8_SECURITY.encode_pwds 161 (+5)$46523E $D0 S8_SECURITY.encode_pwds 161 (+5)$465240 $7803 S8_SECURITY.encode_pwds 161 (+5)$465242 $2606 S8_SECURITY.encode_pwds 163 (+7)$465244 $4EB9 S8_SECURITY.encode_pwds 163 (+7)$465246 $40 S8_SECURITY.encode_pwds 163 (+7)$465248 $6A74 S8_SECURITY.encode_pwds 163 (+7)$46524A $2004 S8_SECURITY.encode_pwds 163 (+7)$46524C $5280 S8_SECURITY.encode_pwds 163 (+7)$46524E $B085 S8_SECURITY.encode_pwds 163 (+7)$465250 $6302 S8_SECURITY.encode_pwds 163 (+7)$465252 $4E4F S8_SECURITY.encode_pwds 163 (+7)$465254 $1231 S8_SECURITY.encode_pwds 163 (+7)$465256 $800 S8_SECURITY.encode_pwds 163 (+7)$465258 $C285 S8_SECURITY.encode_pwds 163 (+7)$46525A $441 S8_SECURITY.encode_pwds 163 (+7)$46525C $31 S8_SECURITY.encode_pwds 163 (+7)$46525E $43BC S8_SECURITY.encode_pwds 163 (+7)$465260 $29 S8_SECURITY.encode_pwds 163 (+7)$465262 $E341 S8_SECURITY.encode_pwds 163 (+7)$465264 $45FA S8_SECURITY.encode_pwds 163 (+7)$465266 $F19C S8_SECURITY.encode_pwds 163 (+7)$465268 $3032 S8_SECURITY.encode_pwds 163 (+7)$46526A $1000 S8_SECURITY.encode_pwds 163 (+7)$46526C $48C0 S8_SECURITY.encode_pwds 163 (+7)$46526E $E180 S8_SECURITY.encode_pwds 163 (+7)$465270 $E580 S8_SECURITY.encode_pwds 163 (+7)$465272 $680 S8_SECURITY.encode_pwds 163 (+7)$465274 $0 S8_SECURITY.encode_pwds 163 (+7)$465276 $8000 S8_SECURITY.encode_pwds 163 (+7)$465278 $2204 S8_SECURITY.encode_pwds 163 (+7)$46527A $5481 S8_SECURITY.encode_pwds 163 (+7)$46527C $B285 S8_SECURITY.encode_pwds 163 (+7)$46527E $6302 S8_SECURITY.encode_pwds 163 (+7)$465280 $4E4F S8_SECURITY.encode_pwds 163 (+7)$465282 $4282 S8_SECURITY.encode_pwds 163 (+7)$465284 $1431 S8_SECURITY.encode_pwds 163 (+7)$465286 $1800 S8_SECURITY.encode_pwds 163 (+7)$465288 $442 S8_SECURITY.encode_pwds 163 (+7)$46528A $31 S8_SECURITY.encode_pwds 163 (+7)$46528C $45BC S8_SECURITY.encode_pwds 163 (+7)$46528E $29 S8_SECURITY.encode_pwds 163 (+7)$465290 $E342 S8_SECURITY.encode_pwds 163 (+7)$465292 $45FA S8_SECURITY.encode_pwds 163 (+7)$465294 $F16E S8_SECURITY.encode_pwds 163 (+7)$465296 $3232 S8_SECURITY.encode_pwds 163 (+7)$465298 $2000 S8_SECURITY.encode_pwds 163 (+7)$46529A $48C1 S8_SECURITY.encode_pwds 163 (+7)$46529C $EB81 S8_SECURITY.encode_pwds 163 (+7)$46529E $D280 S8_SECURITY.encode_pwds 163 (+7)$4652A0 $5684 S8_SECURITY.encode_pwds 163 (+7)$4652A2 $B885 S8_SECURITY.encode_pwds 163 (+7)$4652A4 $6302 S8_SECURITY.encode_pwds 163 (+7)$4652A6 $4E4F S8_SECURITY.encode_pwds 163 (+7)$4652A8 $4280 S8_SECURITY.encode_pwds 163 (+7)$4652AA $1031 S8_SECURITY.encode_pwds 163 (+7)$4652AC $4800 S8_SECURITY.encode_pwds 163 (+7)$4652AE $440 S8_SECURITY.encode_pwds 163 (+7)$4652B0 $31 S8_SECURITY.encode_pwds 163 (+7)$4652B2 $41BC S8_SECURITY.encode_pwds 163 (+7)$4652B4 $29 S8_SECURITY.encode_pwds 163 (+7)$4652B6 $E340 S8_SECURITY.encode_pwds 163 (+7)$4652B8 $45FA S8_SECURITY.encode_pwds 163 (+7)$4652BA $F148 S8_SECURITY.encode_pwds 163 (+7)$4652BC $3432 S8_SECURITY.encode_pwds 163 (+7)$4652BE $0 S8_SECURITY.encode_pwds 163 (+7)$4652C0 $48C2 S8_SECURITY.encode_pwds 163 (+7)$4652C2 $D481 S8_SECURITY.encode_pwds 163 (+7)$4652C4 $C82 S8_SECURITY.encode_pwds 163 (+7)$4652C6 $0 S8_SECURITY.encode_pwds 163 (+7)$4652C8 $FFFF S8_SECURITY.encode_pwds 163 (+7)$4652CA $6302 S8_SECURITY.encode_pwds 163 (+7)$4652CC $4E4F S8_SECURITY.encode_pwds 163 (+7)$4652CE $3E02 S8_SECURITY.encode_pwds 163 (+7)$4652D0 $7802 S8_SECURITY.encode_pwds 163 (+7)$4652D2 $2606 S8_SECURITY.encode_pwds 164 (+8)$4652D4 $4EB9 S8_SECURITY.encode_pwds 164 (+8)$4652D6 $40 S8_SECURITY.encode_pwds 164 (+8)$4652D8 $6A74 S8_SECURITY.encode_pwds 164 (+8)$4652DA $2004 S8_SECURITY.encode_pwds 164 (+8)$4652DC $5280 S8_SECURITY.encode_pwds 164 (+8)$4652DE $B085 S8_SECURITY.encode_pwds 164 (+8)$4652E0 $6302 S8_SECURITY.encode_pwds 164 (+8)$4652E2 $4E4F S8_SECURITY.encode_pwds 164 (+8)$4652E4 $244B S8_SECURITY.encode_pwds 164 (+8)$4652E6 $287 S8_SECURITY.encode_pwds 164 (+8)$4652E8 $0 S8_SECURITY.encode_pwds 164 (+8)$4652EA $FFFF S8_SECURITY.encode_pwds 164 (+8)$4652EC $2207 S8_SECURITY.encode_pwds 164 (+8)$4652EE $E081 S8_SECURITY.encode_pwds 164 (+8)$4652F0 $1581 S8_SECURITY.encode_pwds 164 (+8)$4652F2 $800 S8_SECURITY.encode_pwds 164 (+8)$4652F4 $5484 S8_SECURITY.encode_pwds 164 (+8)$4652F6 $B885 S8_SECURITY.encode_pwds 166 (+10)$4652F8 $6302 S8_SECURITY.encode_pwds 166 (+10)$4652FA $4E4F S8_SECURITY.encode_pwds 166 (+10)$4652FC $244B S8_SECURITY.encode_pwds 166 (+10)$4652FE $2007 S8_SECURITY.encode_pwds 166 (+10)$465300 $C085 S8_SECURITY.encode_pwds 166 (+10)$465302 $4185 S8_SECURITY.encode_pwds 166 (+10)$465304 $1580 S8_SECURITY.encode_pwds 166 (+10)$465306 $4800 S8_SECURITY.encode_pwds 166 (+10)$465308 $5286 S8_SECURITY.encode_pwds 166 (+10)$46530A $6800 S8_SECURITY.encode_pwds 166 (+10)$46530C $FF2E S8_SECURITY.encode_pwds 166 (+10)$46530E $584F S8_SECURITY.encode_pwds 166 (+10)$465310 $2254 S8_SECURITY.encode_pwds 166 (+10)$465312 $4280 S8_SECURITY.encode_pwds 181 (+25)$465314 $1011 S8_SECURITY.encode_pwds 181 (+25)$465316 $81FC S8_SECURITY.encode_pwds 181 (+25)$465318 $3 S8_SECURITY.encode_pwds 181 (+25)$46531A $E340 S8_SECURITY.encode_pwds 181 (+25)$46531C $1680 S8_SECURITY.encode_pwds 181 (+25)$46531E $41EE S8_SECURITY.encode_pwds 181 (+25)$465320 $C S8_SECURITY.encode_pwds 182 (+26)$465322 $224B S8_SECURITY.encode_pwds 182 (+26)$465324 $703F S8_SECURITY.encode_pwds 182 (+26)$465326 $20D9 S8_SECURITY.encode_pwds 182 (+26)$465328 $51C8 S8_SECURITY.encode_pwds 182 (+26)$46532A $FFFC S8_SECURITY.encode_pwds 182 (+26)$46532C $4CDF S8_SECURITY.encode_pwds 182 (+26)$46532E $1FFF S8_SECURITY.encode_pwds 182 (+26)$465330 $4E5E S8_SECURITY.encode_pwds 182 (+26)$465332 $4E75 S8_SECURITY.encode_pwds 182 (+26)

author: amyk
author_rank: Super Contributor
timestamp: July 25, 2018, 11:39:46 am
content: My first thought is to import it into a database so you can query it... the line number +/- part is just the offset from the start of the procedure.There are far less than 1M procedures; with the above a simple "select count(distinct proc_name)" would tell you how many.