Here's the pseudocode. It's just a few loops around the code I posted before:

Code
roworder[]={
  3  4 11 12 19 20 27 28 35 36 43 44 51 52 59 60
  0  7  8 15 16 23 24 31 32 39 40 47 48 55 56 63
  2  5 10 13 18 21 26 29 34 37 42 45 50 53 58 61
  1  6  9 14 17 22 25 30 33 38 41 46 49 54 57 62
}
  
rx=0
for chapter=0 TO 1	// TMS1100 has 2x ROM
  for page=0 TO 15	// 16 pages in each row
    for pc=0 TO 63	// 64 rows = program counter
      for bit=7 to 0 step -1
        if page<8
          rawbitindex=chapter*8192+roworder[pc]*128+bit*16+page
        else
          rawbitindex=chapter*8192+roworder[pc]*128+bit*16+23-page
        endif
        rom[rx]=rom[rx]*2+rawbits[rawbitindex]
      next
      rx=rx+1
    next
  next
next