I've just purchased Accordance 9.2.1 (February 2011) and have it up and running really well under Debian Gnu/Linux! At this point I just have the starter set of packages installed while I wait for my media to arrive in the post
However, I can't get printing working.
I get the same result under both Linux and Windows 7 (both 32 bit installs). And it doesn't seem to matter whether I use Print-To-PDF or the Adobe PostScript Printer driver with a Virtual Printer (my preferred option, as fonts are included in the PostScript file), or the Apple LaserWriter 8 driver (printing to file).
(For reference, the windows set up I tried is from the download from accordancebible.com. No changes were made to OSDRIVE.HFV in order to reproduce the crash using Print-To-PDF. Accordance itself is on a separate virtual disk which was copied as is from Linux to Windows)
It's not a general printing problem, since printing does work from SimpleText and Finder.
This is what happens:
- I highlight some text
- I select "Print selection..."
- The print dialogue appears
- I choose all my options (I've tried lots of combinations)
- I select save
- I choose a location to write the file out (doesn't matter where I choose)
- The Mac complains that AppleTalk isn't available and asks me if I want to print later (this happens in SimpleText too, not sure if it is related, or how to fix it... Why is network access required to print to a Virtual Printer???)
- I elect print later
- The emulator crashes

- No print file is produced
I built Basilisk II from source with debugging symbols to see if I could see what is happening.
The exception occurs in do_get_mem_word in sysdeps.h:
Program received signal SIGSEGV, Segmentation fault.
0x780a3ecf in do_get_mem_word (a=0x71a461a2) at sysdeps.h:424
424 static inline uae_u32 do_get_mem_word(uae_u16 *a) {uint32 retval; __asm__ ("movzwl %w1,%k0\n\tshll $16,%k0\n\tbswapl %k0\n" : "=&r" (retval) : "m" (*a) : "cc"); return retval;}
This is the backtrace:
#0 0x780a3ecf in do_get_mem_word (a=0x71a461a2) at sysdeps.h:424
#1 0x780a3f70 in get_word (addr=1638162850) at ../uae_cpu/memory.h:129
#2 0x780a5cc5 in op_3010_0_ff (opcode=4144) at cpuemu.cpp:9110
#3 0x78081dcb in m68k_do_execute () at ../uae_cpu/newcpu.cpp:1367
#4 0x78081e1a in m68k_execute () at ../uae_cpu/newcpu.cpp:1384
#5 0x7807e55d in Start680x0 () at ../uae_cpu/basilisk_glue.cpp:146
#6 0x7804bd7b in main (argc=1, argv=0xbffff574) at main_unix.cpp:816
It appears the pointer a (0x71a461a2 in this case) is invalid. The debugger can't read it's contents.
I haven't bothered to build from source under windows, but the crash occurs in the same place, so it seems to be platform independent.
Although I have a reasonable idea about C/C++, this is probably beyond me (and I don't know any assembler).
So, now for some questions:
- Can anybody else reproduce this?
- Any guesses as to whether the problem lies in the Emulator or in Accordance?
- Can someone shed light on the AppleTalk requirements for print to file using a virtual printer?
Look forward to hearing from anyone on how to make some progress!
Thanks,
David










