Hello Tobias... I was hoping that you would jump in here. I would be thrilled to have whatever info you could offer on the powerbook. I didn't mean any offence by my posts, I just wanted to figure out what changes had been made.... you are right: what is in the kernel is correct. i just wanted to cross-check the kernel code against my actual machine and then provide some useful information with the specific pointers that were not in the code in case anyone else wants to jump in and check them out. I checked out all the addresses in nbpmac_node.h in the kernel and In the original code that you did not fix up, there seem to be a few pointers to nothing for sound and floppy left over from 7 years ago, followed by /* XXX Where is it? */ with no reference in the interrupt_info section. Those are what I am trying to help with. You all know a lot more about this than i do, but I have some time to kill, so I did a bunch of research.
I am just trying help anyone passing through here wit as much information as I can to see if i hit on anything new that might be useful. My primary concerns are getting sound to work and maybe getting the floppy to work and maybe help with the power-off issue... I have not looked into the SCSI at all. I re-traced all the I/O in Macsbug, TMON and Macnosy based on known addresses from 68k-style machines working on a similar ROM, and then guessed the rest and dissassembled the low memory addresses to make sure... and indeed confirmed that what is in the kernel now is correct... I am just looking for a way to get the other features working.
You are absolutely right that there is only one VIA, and the other is emulated in the same manner as the RBV virtual VIA2 on other machines. i know that Apple had problems with that... so I am sure that is part of the issue. I also know that on some of those old machines, the 68k emulator was used to switch the status register through the OS since the powerpc itself could send commands in supervisor mode... it had to clue-in the 68k emulator to do it, and then execute some instructions to translate from the 7 interrupt levels of 68k to the single register of the powerpc... but that is all old Apple stuff that you all already know and is easily available in Apple's hardware developer notes, as well as all the low mwmory pointers to hardware addresses from the ROM and very detailed notes about interrupt handling on the x100 series.
I am also trying to figure out how the kernel polls the ADB/PMU timer since the countdown is what seemed to keep the machine from shutting off in MacOS... I have not found it yet, so maybe I am looking for the wrong thing.
I have run MkLinux... from the first developer release through the newest revision. I have it installed on a machine right now actually. You are right... it is buggy, but my floppy and sound "work" and it did not randomly shut the machine down except when it crashed... which happened a lot... so I was hoping to pull some code from them and the m68k people to see if it helps. I even have the MkLinux book if anyone needs any information from that. The later kernels seem to fix the powerbook ide timeout problem, but you can't get them online anymore. I think I am running the last generic kernel-9 version something or other. My first install I tried an old kernel through the CD drive and had to deal with hitting a cmnd-pwr NMI every few seconds, so I know what you are talking about there... BIG pain in the butt!
Anyway, I won't step on anyone's toes since I am no Linux guru, but if you need it, I am good with old mac hardware, and I have support on my old machines for Apple's old MPW developer kits, lots of debuggers and can compile and debug old mac programs, and I am running machines with about 6 different versions of MacOS classic as well as OSX. I am happy to help with whatever is needed.