General Category > LisaList2

Monitor format for ProFiles

<< < (9/14) > >>

stepleton:
Still hoping to try these images later this evening UK time... the main thing I will have to do is remember to myself the utility packed with LisaEm that can convert .dc42 hard drive images to the raw concatenated sectors that Cameo/Aphid and ESProFile use. Will report once I give them a try...

AlexTheCat123:
I just copied both of the ProFile images over to an ESProFile and I can confirm that they both work on actual hardware on a Lisa 2/10. It's really neat to run the Smalltalk examples on a Lisa!


The only issue that I've encountered is that the mouse editor won't load and gives an error on the Smalltalk image, but everything else seems to be perfectly fine.


The exact error is:
Error #9 on file LISA:FM.MN.HEUR
InitWm called FMInit and got errNum = 9
Fatal Error 2 type: <space> to continue


So it seems that something's not quite right with some font-related stuff.

pablo_marx:

--- Quote from: AlexTheCat123 on April 09, 2025, 12:56:55 pm ---I just copied both of the ProFile images over to an ESProFile and I can confirm that they both work on actual hardware on a Lisa 2/10. It's really neat to run the Smalltalk examples on a Lisa!

--- End quote ---

Thats great to hear!! Thank you for testing! 


--- Quote ---The only issue that I've encountered is that the mouse editor won't load and gives an error on the Smalltalk image, but everything else seems to be perfectly fine.


The exact error is:
Error #9 on file LISA:FM.MN.HEUR
InitWm called FMInit and got errNum = 9
Fatal Error 2 type: <space> to continue


So it seems that something's not quite right with some font-related stuff.

--- End quote ---

The Smalltalk images I made are fairly minimal right now, pretty much just the bare-bones necessities from the Monitor 11.8 image with the four files from the t004 Smalltalk image copied over.  So I think this is expected right now.   Now that we know the images work on hardware, I'll start working on the two final images, reasonably "complete" environments for both Monitor 11 and Monitor 12 (assembler, compiler, editor, smalltalk, etc).

stepleton:
I keep failing to try this out myself --- it feels like there keeps being one extra thing that I have to do every evening. I'm glad that Alex has provided a report instead! There's no way I'm going to miss out on the fun for good, though... Alex has covered the 2/10 but I would like to see if the ProFile images will run at all on a Lisa 1. (I will not try to use the Twiggy drives.) Probably next week, but I encourage anyone else to try and beat me to the punch!

pablo_marx:
I've attached a zip file containing dc42 and raw images for a test of the "universal" Monitor profile image, based (yet again) on monitor_12.3_copysony.  The filesystem contains both Twiggy (from lk017_mon12.2_1) and Sony drivers.  The bootfiles.data is set to conditionally load Twiggy based on the ROM's SysType reporting 0, and to conditionally load Sony when the ROM's SysType is not 0.

I've verified this works by combing through a trace in lisaem, as well as specifying an invalid filename.  I set it to try and load ZNYDRVR7.OBJ, and when I set the condition to Lisa2, I get an error during boot:



And when I set the condition to Lisa1, the error goes away (indicating it didn't try to load it because it failed the SysType test).

Additionally I copied over some screen printing logic from the floppy's MON.LOADER to display the bootfiles that get loaded.  With The Sony driver set to load for Lisa 2 and the Twiggy driver set to load for Lisa 1:



And with the flags inverted so Sony gets loaded on Lisa 1, and Twiggy on Lisa 2:



The patch introduces a branch (60 00 08 2C) before the CLR.W -(A7) and deletes the SUB.B #$20, (A0):



The remainder of the patch goes at the end of the loader (beneath the font table), and with the caveat that I have not written 68000 assembly in 30 years, goes like this:


START ORG #0x21414

00            dc.b 0x00
00            dc.b 0x00
00            dc.b 0x00
04 10 00 20   subi.b     #0x20, (a0)  ; remove 0x20 from the byte,
                                      ; as the original code did.
18 10         move.b     (a0), d4     ; load the byte into a reg
E8 0C         lsr.b      #0x4, d4     ; shift off the lower 4 bits (the string length).
                                      ; the result (just the upper 4 bits) will be
                                      ; 0(universal), 1(lisa1), 2(lisa2)
B8 3C 00 00   cmp.b      #0x0, d4     ; is this a universal file?
67 00 F7 C8   beq.w      loc_20bea    ; yes, so continue reading it
            not_universal:
1A 38 02 AF   move.b     0x2af, d5    ; Load in the ROM’s SYSTYPE variable
B8 3C 00 01   cmp.b      #0x1, d4     ; Is this file only for Lisa 1?
66 10         bne.b      loc_2143     ; No, jump to Lisa 2 test
            lisa1_test:
04 10 00 10   subi.b     #0x10, (a0)  ; Remove Lisa 1 marker from the byte
BA 3C 00 00   cmp.b      #0x0, d5     ; Is SYSTYPE == 0 (Lisa 1)?
66 00 F7 FA   bne.w      loc_20c32    ; No, so advance to the next file in bootfiles.data
60 00 F7 AE   bra.w      loc_20bea    ; The file wants a Lisa 1 and we are on a Lisa 1
                                      ; So allow the normal file read to continue
            lisa2_test:
04 10 00 20   subi.b     #0x20, (a0)  ; Remove Lisa 2 marker from the byte
BA 3C 00 00   cmp.b      #0x0, d5     ; Is SYSTYPE == 0 (Lisa 1)?
67 00 F7 EA   beq.w      loc_20c32    ; Yes, but we want a Lisa 2 for this file, so
                                      ; advance to the next file in bootfiles.data
60 00 F7 9E   bra.w      loc_20bea    ; The file wants a Lisa 2 and we are on a Lisa 2
                                      ; So allow the normal file read to continue

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version