"daz" <dooby / d10.karoo.co.uk> wrote in message 
news:wTWdnc22duLNQATeSa8jmw / karoo.co.uk...
>
[snip]
>
> Using String %  (sprintf)
> http://www.rubycentral.com/book/ref_c_string.html#String._pc
>
> I've added the ascii character (or '.' if it's not printable)
>
> address = 0x3ff8
> while address < 0x4000
>  byte = Files.readCodeByte(address)
>  puts '%04X %08b %02X  %c' %
>      [address, byte, byte, ((32..126) === byte) ? byte : ?.]
>  address += 1
> end

I knew there would be a simple way.
I think it's time I bought that book.
Thanks for your help daz.

>
> #-> 3FF8 01011011 5B  [
> #-> 3FF9 00111101 3D  =
> #-> 3FFA 01000000 40  @
> #-> 3FFB 00001000 08  .
> #-> 3FFC 01001011 4B  K
> #-> 3FFD 01010100 54  T
> #-> 3FFE 10111000 B8  .
> #-> 3FFF 00010010 12  .
>
>
> daz
>
>
>