Quite by accident, I found a serial number string that bypasses the serialization process, this might be a useful find, or perhaps it won't actually be viable, not sure.
ff000000000000ff0000000000000000
When you first copy a tool from the floppy to the profile, such as LisaList (tee hee!) it will still warn you that it will need to serialize it. However it will write the magic serial number of zero, which means it's unserialized! Best yet, neither LOS, nor the boot ROM see this as an error condition! And I was able to initiate a print!
This doesn't matter very much for LisaEm for obvious reasons, but I wonder what would happen if someone were to burn a VSROM with serial # zero, and tried it on a real Lisa. Anyone have the ability to do that? I've no idea what effect this will have on AppleNet, but then again, I don't think that matters much. I'd imagine that perhaps the Lisa devs had such a serial #ed Lisa when they built the tools so they could create the initial copies of the tools disks, or perhaps they didn't, and used LPW instead, but anyway...
I was able to start a print from a document created from a LisaList stationary, however, I have more bugs to fix in LisaEm as GTK crashed after the print dialog came up and I selected output to PDF file, (and worse yet, it looks like I still have memory issues to fix.)
(Printing doesn't work if you have a mismatched serial number between your installed tools and the Lisa VSROM.)
src/host/wxui/lisaem_wx.cpp:OnMouseMove:5375:Mouse actual xh,yh: (255,303) translated x,y: (110,127) display:(145,128)+(720,500)| 10:51:12.4 671191316
src/host/wxui/lisaem_wx.cpp:iw_check_finish_job:7871:No activity on printer #5 - flushing page| 10:51:15.5 791314010
src/host/wxui/lisaem_wx.cpp:iw_check_finish_job:7871:No activity on printer #5 - flushing page| 10:51:15.5 791314010
cpu68k.c:get_ipct:799:There are no free ipcts, but ipcts_free is non zero! 1| 10:51:36.9 835665452
cpu68k.c:get_ipct:799:There are no free ipcts, but ipcts_free is non zero! 1| 10:51:36.9 835665452
(lisaem:12134): Gtk-CRITICAL **: 10:51:42.763: gtk_print_context_create_pango_context: assertion 'GTK_IS_PRINT_CONTEXT (context)' failed
(lisaem:12134): Gtk-CRITICAL **: 10:51:42.764: gtk_print_context_create_pango_layout: assertion 'GTK_IS_PRINT_CONTEXT (context)' failed
(lisaem:12134): Gtk-CRITICAL **: 10:51:42.764: gtk_print_context_get_cairo_context: assertion 'GTK_IS_PRINT_CONTEXT (context)' failed
(lisaem:12134): Gtk-CRITICAL **: 10:51:42.764: gtk_print_context_get_page_setup: assertion 'GTK_IS_PRINT_CONTEXT (context)' failed
Segmentation fault (core dumped)
The blue screenshot attached to this post is from vbindiff, a visual text mode diff, the white hightlight is where the serial number will get written to by LOS according to David T. Craig's Lisa tool deserialization papers. See the two hex dumps in here:
http://www.applerepairmanuals.com/lisa/deserial/pg05.htmlAs you can see LOS write zeros for the serial number, which means the tools are NOT serialized. There are changes made to the disk image, but those are date time stamps, which are normal behavior.
Obviously this is kinda useless as LisaEm itself deserializes tools internally, and you could use lisafsh-tool to do so yourself, and certainly deserialized images already exist on archive.org lisa tosec, and other places. But it's still fun to think about.
If it turns out that this works, perhaps we could burn a bunch of VSROMs with this magic serial number and never have to bother with deserialization again on actual Lisas!