hipercdecode(1)

πŸ’– hipercdecode β€” the manual, but make it make sense πŸ’–

okay bestie, welcome to hipercdecode(1), from the General Commands Manual (that's section 1, we're fancy like that ✨). this is the girl who takes your printer's weird little language and translates it into something a human can actually read. no cap. 🫢


🌸 NAME 🌸

hipercdecode β€” decode a HIPERC stream into human readable form. πŸ’…


✨ SYNOPSIS ✨

hipercdecode [options] <hiperc-file

πŸ¦‹ DESCRIPTION πŸ¦‹

so hipercdecode takes a HIPERC stream and decodes it into human readable form. and like, both uncompressed and JBIG formats are handled, so we're covered either way. 😌

now. what even is a HIPERC stream? it's the printer language used by these icons πŸ‘‘:

  • the Oki Data C310dn
  • C3100
  • C3200n
  • C3250n
  • C3300n
  • C3400n
  • C5100n
  • C5250n
  • C5500n
  • C5600
  • C5800n printers

the way that's literally eleven printers and every single one of them speaks HIPERC. iconic. πŸ–¨οΈβœ¨


πŸŽ€ COMMAND LINE OPTIONS πŸŽ€

these are the options that can appear on the command line. periodt.

  • -d basename β€” basename of .pbm file for saving decompressed planes. πŸ–ΌοΈ
  • -h β€” print hex file offsets.
  • -o β€” print file offsets.
  • -D level β€” set Debug level [0]. πŸ›

🌈 EXAMPLES 🌈

decode an HIPERC stream file created by foo2hiperc. let's GO πŸƒβ™€οΈ

$ foo2hiperc-wrapper testpage.ps | hipercdecode -h
     0:   \033%-12345X@PJL
     f:   @PJL RDYMSG DISPLAY = "Unknown"
    30:  @PJL SET OKIJOBACCOUNTJOB USERID="Unknown" JOBNAME="Unknown"
    6e:  @PJL SET OKIAUXJOBINFO DATA="DocumentName=Unknown"
    a2:  @PJL SET OKIAUXJOBINFO DATA="ComputerName=dual.rkkda.org"
    dd:  @PJL SET OKIAUXJOBINFO DATA="ReceptionTime=00:00:00 2008/01/30"
   11e: @PJL SET OKIAUTOTRAYSWITCH=ON
   13d: @PJL SET OKIPAPERSIZECHECK=ENABLE
   160: @PJL SET RESOLUTION=600
   179: @PJL SET PAPER=LETTER
   190: @PJL SET OKITRAYSEQUENCE=PAPERFEEDTRAY
   1b8: @PJL SET OKIPAPERFEED=TRAY1
   1d5: @PJL SET OKIMEDIATYPE = PLAIN
   1f4: @PJL SET LPARM:PCL OKIPRINTMARGIN=INCH1D6
   21f: @PJL SET COPIES=1
   232: @PJL SET QTY=1
   242: @PJL SET HIPERCEFFECTIVEBLOCKSIZE=34799360
   26e: @PJL ENTER LANGUAGE=HIPERC
   289: RECTYPE 0 (len=52,0x34 cnt=1)
   291:      BLKNUM 0, nbie=1, pn=3 [black] uc=0,0, wid=4864 ud=0,100
   2a5:      BLKNUM 1 (len=20), uncompressed=1, bie:
          DL = 48, D = 48, P = 49, - = 48, XY = 4864 x 6816
          L0 = 256, MX = 0, MY = 0
          Order   = 0
          Options = 0
          1 stripes, 0 layers, 49 planes
   2bd: RECTYPE 1 (len=155668,0x26014 cnt=1)
   2c5:      BLKNUM 0 (len=4), plane=3, uc=0,0,0
   2cd:      BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
 262d1:    RECTYPE 1 (len=155668,0x26014 cnt=2)
 262d9:         BLKNUM 0 (len=4), plane=3, uc=0,0,0
 262e1:         BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
 4c2e5:    RECTYPE 1 (len=155668,0x26014 cnt=3)
 4c2ed:         BLKNUM 0 (len=4), plane=3, uc=0,0,0
 4c2f5:         BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
 722f9:    RECTYPE 1 (len=155668,0x26014 cnt=4)
 72301:         BLKNUM 0 (len=4), plane=3, uc=0,0,0
 72309:         BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
 9830d:    RECTYPE 1 (len=155668,0x26014 cnt=5)
 98315:         BLKNUM 0 (len=4), plane=3, uc=0,0,0
 9831d:         BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
 be321:    RECTYPE 1 (len=155668,0x26014 cnt=6)
 be329:         BLKNUM 0 (len=4), plane=3, uc=0,0,0
 be331:         BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
 e4335:    RECTYPE 1 (len=155668,0x26014 cnt=7)
 e433d:         BLKNUM 0 (len=4), plane=3, uc=0,0,0
 e4345:         BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
10a349:   RECTYPE 1 (len=155668,0x26014 cnt=8)
10a351:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
10a359:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
13035d:   RECTYPE 1 (len=155668,0x26014 cnt=9)
130365:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
13036d:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
156371:   RECTYPE 1 (len=155668,0x26014 cnt=10)
156379:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
156381:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
17c385:   RECTYPE 1 (len=155668,0x26014 cnt=11)
17c38d:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
17c395:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
1a2399:   RECTYPE 1 (len=155668,0x26014 cnt=12)
1a23a1:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
1a23a9:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
1c83ad:   RECTYPE 1 (len=155668,0x26014 cnt=13)
1c83b5:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
1c83bd:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
1ee3c1:   RECTYPE 1 (len=155668,0x26014 cnt=14)
1ee3c9:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
1ee3d1:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
2143d5:   RECTYPE 1 (len=155668,0x26014 cnt=15)
2143dd:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
2143e5:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
23a3e9:   RECTYPE 1 (len=155668,0x26014 cnt=16)
23a3f1:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
23a3f9:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
2603fd:   RECTYPE 1 (len=155668,0x26014 cnt=17)
260405:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
26040d:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
286411:   RECTYPE 1 (len=155668,0x26014 cnt=18)
286419:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
286421:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
2ac425:   RECTYPE 1 (len=155668,0x26014 cnt=19)
2ac42d:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
2ac435:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
2d2439:   RECTYPE 1 (len=155668,0x26014 cnt=20)
2d2441:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
2d2449:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
2f844d:   RECTYPE 1 (len=155668,0x26014 cnt=21)
2f8455:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
2f845d:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
31e461:   RECTYPE 1 (len=155668,0x26014 cnt=22)
31e469:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
31e471:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
344475:   RECTYPE 1 (len=155668,0x26014 cnt=23)
34447d:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
344485:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
36a489:   RECTYPE 1 (len=155668,0x26014 cnt=24)
36a491:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
36a499:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
39049d:   RECTYPE 1 (len=155668,0x26014 cnt=25)
3904a5:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
3904ad:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
3b64b1:   RECTYPE 1 (len=155668,0x26014 cnt=26)
3b64b9:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
3b64c1:        BLKNUM 1 (len=155648), Data=00 00 00 00 00 00 00 00 00 00 00 ...
3dc4c5:   RECTYPE 1 (len=97300,0x17c14 cnt=27)
3dc4cd:        BLKNUM 0 (len=4), plane=3, uc=0,0,0
3dc4d5:        BLKNUM 1 (len=97280), Data=00 00 00 00 00 00 00 00 00 00 00 ...
3f40d9:   RECTYPE 255 (len=8,0x8 cnt=28)
3f40e1:   \033%-12345X

ok like look at her go. all those RECTYPE 1 blocks counting up cnt=1 through cnt=27, then that final RECTYPE 255 and the \033%-12345X saying goodbye. πŸ’€ the drama. the narrative arc. we love a structured stream. πŸ“


🧚 FILES 🧚

  • /usr/bin/hipercdecode

πŸ’œ SEE ALSO πŸ’œ


πŸ‘‘ AUTHOR πŸ‘‘

Rick Richardson <rick.richardson@comcast.net>

http://foo2hiperc.rkkda.com/


ngl if you made it this far you're a real one 🫢 go decode something. no cap, this page came straight out of the General Commands Manual for section 1, and all the credit belongs to Rick Richardson up there β€” she's the main character. βœ¨πŸ’…πŸŽ€ okay bye bestie, slay your printer streams πŸ’–
πŸ“¦ where this page comes from