KOTOR for MacOS X crashes…

So part of my 2Ghz G5 purchase was to be able to play KOTOR… The $5 version I got on steam just crashes on launch so that… lame.

Anyways it crashes like crazy on OS X, not sure if the intel version is as bad, but on the PowerPC, I found this little nugget in the crash log.

Version: 1.03 (45217)

PID: 248
Thread: 5

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0:
0 libSystem.B.dylib 0x9000af48 mach_msg_trap + 8
1 libSystem.B.dylib 0x9000ae9c mach_msg + 60
2 IOKit 0x90af0de4 io_connect_method_scalarI_str
uctureI + 216
3 …apple.ATIRadeon9700GLDriver 0x072614c4 gldFinish + 84
4 GLEngine 0x07161850 glFinish_Exec + 636
5 com.aspyr.kotor 0x002dc340 aglRestoreContext() + 20
6 com.aspyr.kotor 0x002e9428 GLRender::FinishSoftShadowsAT
I() + 1584
7 com.aspyr.kotor 0x00338318 Scene::RenderShadows(int, int
, int, int) + 528
8 com.aspyr.kotor 0x003399b4 Scene::RenderSinglePass() + 7

That’s right, it looks like SoftShadowsATI causes the thing to bomb out.  So disabling shadows has lead to a much better experience so far. Whats also odd, is the driver says its for a 9700, while the hardware is a 9600 … But I don’t know enough about ATI stuff to say anything about that…

I never did get around to KOTOR on my quad G5 with the Nvidia card…

reviving a G5

This has to be one of the more convoluted things I’ve ever done.

So basically it starts like this, I left my quad G5 mac in storage, some 1,600 miles away.  I wanted to see if I could get a cheap mac, and I managed to get a $100 mac out here in Vegas.  Part of the reason it was cheap is because the OS was screwed up.. You’d be surprised how many people ditch good machines, because the OS is messed up.

So I figure I’d just pop in a 10.4 or 10.5 DVD set and boot up, format and all will be well right?  Well it turns out the DVD drive doesn’t work properly.  And I don’t have any old ATA/parallel style DVD drives on me.  So I’ve basically got a $100 paper weight.

Until I decide to try something insane, so I get the great emulator PearPC, and install 10.4 into that.  Sadly PearPC doesn’t support raw disks, otherwise my original plan of popping in the disk to my PC, running PearPC and having it install to \\.\PhysicalDrive2 didn’t work so well.  But at least I could create a small install of 10.4.6 which will boot on a G5.

Next I dug out the ancient ancestor of all the hackintoshes, the deadmoo 10.4.1 image, and got it running on VirtualBOX (set the IDE to P3 mode, otherwise its SLOW!), after converting the raw 6GB image into a VMDK.  I then could use Qemu’s disk image conversion program to convert the 10.4.6 disk I installed with PearPC into a VMDK which I could then mount under the deadmoo image.

With that setup, I could then use the diskutil program on OS X deadmoo, and create a compressed disk image of the PowerPC 10.4.6 .  Then VirtualBOX will let you link to a physical drive, with a command something like this:

VBoxManage internalcommands createrawvmdk -filename drive2.vmdk
      -rawdisk \\.\PhysicalDrive2

With that done, I then could boot back into deadmoo with the G5’s disk attached, remove all the files/directories from the G5 disk (I didn’t format as I wondered if I format from an intel machine, would the endian be backwards making the filesystem unnecessarily slow?), doing the ‘repair permissions’ shuffle from the diskutil program, and then finally I could restore the PearPC compressed image of 10.4.6 onto the G5’s hard disk.

It worked.

Its a shame the PowerPC machines cannot boot from USB disks, otherwise there may have been an easier way…  Well that or order a DVD drive, but that’d take time…

So thankfully with emulation, disks that can work between machines, I was able to get the box up and running.

Only because it was requested….

I wasn’t going to make this some kind of cat obsessed blog, but I guess this being the internet everyone knows it eventually degenerates into some kind of cat obsession…

KC

I’m backing this whole thing up, and that’ll take a while… so in the meantime…

**EDIT 3/9/2016 .  My ex emailed me to let me know that KC is not doing well.  He stopped grooming himself, and barely eats.  Such a sad update.  It won’t be long.

Sick KC.
Sick KC.

***FINAL EDIT 9/9/2016.  I just received the word from my ex:

K.C. has passed. Vet said nothing more we can do for him. He went painlessly

Good bye KC. :(
Good bye KC. 🙁

Good bye K.C.  You are already missed.

Well it crashed again…

I’m going to have to do some kind of backup/restore of all my crap, and just format this VM.. bumpy rides ahead!

it’s 8PM EST and its now running in a VM in my apt…. there is more stuff I want to extract from my host VM, before I try to put things back, but in the meantime…

Apache gone wild…

don’t you hate it when…

[3057891.088022] [<ffffffff804354a7>] io_schedule+0x5c/0x9e
[3057891.088027] [<ffffffff802648b1>] sync_page+0x3c/0x41
[3057891.088032] [<ffffffff8043561a>] __wait_on_bit_lock+0x36/0x66
[3057891.088037] [<ffffffff80264862>] __lock_page+0x5e/0x64
[3057891.088043] [<ffffffff8023f757>] wake_bit_function+0x0/0x23
[3057891.088048] [<ffffffff8026bd80>] pagevec_lookup_tag+0x1a/0x21
[3057891.088053] [<ffffffff8026a48b>] write_cache_pages+0x10c/0x2b1
[3057891.088058] [<ffffffff80269fb1>] __writepage+0x0/0x23
[3057891.088065] [<ffffffff80221555>] __wake_up_common+0x41/0x74
[3057891.088071] [<ffffffff80223845>] __wake_up+0x38/0x4f
[3057891.088076] [<ffffffff8026a673>] do_writepages+0x27/0x2d
[3057891.088082] [<ffffffff802a81f5>] __writeback_single_inode+0x181/0x2da
[3057891.088087] [<ffffffff80222e6b>] __dequeue_entity+0x25/0x69
[3057891.088092] [<ffffffff80222ec7>] set_next_entity+0x18/0x3a
[3057891.088098] [<ffffffff802a8714>] sync_sb_inodes+0x1b1/0x2b1
[3057891.088103] [<ffffffff802a8c18>] writeback_inodes+0x87/0x11c
[3057891.088108] [<ffffffff8026af30>] background_writeout+0x87/0xbb
[3057891.088114] [<ffffffff8026b432>] pdflush+0x0/0x2bc
[3057891.088121] [<ffffffff8026b608>] pdflush+0x1d6/0x2bc
[3057891.088126] [<ffffffff8026aea9>] background_writeout+0x0/0xbb
[3057891.088131] [<ffffffff8023f5fb>] kthread+0x47/0x74
[3057891.088136] [<ffffffff802282ec>] schedule_tail+0x27/0x5c
[3057891.088141] [<ffffffff8020be28>] child_rip+0xa/0x12
[3057891.088147] [<ffffffff8023f5b4>] kthread+0x0/0x74
[3057891.088151] [<ffffffff8020be1e>] child_rip+0x0/0x12
[3057891.088154]
[3057897.531668] INFO: task kjournald:553 blocked for more than 120 seconds.
[3057897.531681] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[3057897.531687] kjournald D 000000000a10e348 0 553 2
[3057897.531694] ffff880001649e10 0000000000000246 ffff88000056f540 ffff880029848f68
[3057897.531702] ffff88003e1da9c0 ffff88003fd1a900 ffff88003e1dac40 00000000802acd7e
[3057897.531709] ffff880000000005 0000000000a884f1 0000000300000000 ffff88000000000f
[3057897.531716] Call Trace:
[3057897.531729] [<ffffffff80223845>] __wake_up+0x38/0x4f
[3057897.531740] [<ffffffffa000d00b>] :jbd:journal_commit_transaction+0x10c/0xe5d
[3057897.531748] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057897.531754] [<ffffffff80235cf6>] try_to_del_timer_sync+0x51/0x5a
[3057897.531763] [<ffffffffa0010bef>] :jbd:kjournald+0xd5/0x25a
[3057897.531768] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057897.531776] [<ffffffffa0010b1a>] :jbd:kjournald+0x0/0x25a
[3057897.531781] [<ffffffff8023f5fb>] kthread+0x47/0x74
[3057897.531786] [<ffffffff802282ec>] schedule_tail+0x27/0x5c
[3057897.531791] [<ffffffff8020be28>] child_rip+0xa/0x12
[3057897.531796] [<ffffffff8023f5b4>] kthread+0x0/0x74
[3057897.531800] [<ffffffff8020be1e>] child_rip+0x0/0x12
[3057897.531804]
[3057906.119712] INFO: task apache2:3184 blocked for more than 120 seconds.
[3057906.119727] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[3057906.119733] apache2 D 0000000000703dc7 0 3184 1577
[3057906.119740] ffff88001c54bbd8 0000000000000282 ffff880028ea2438 ffffffff80222e6b
[3057906.119747] ffff880028ea2400 ffff88003e1da340 ffff880028ea2680 000000003f3b8a38
[3057906.119755] ffff880000000005 0000000000bcc611 ffff880001933ee0 ffff88000000000f
[3057906.119761] Call Trace:
[3057906.119773] [<ffffffff80222e6b>] __dequeue_entity+0x25/0x69
[3057906.119781] [<ffffffff8020e7bc>] get_nsec_offset+0x9/0x2c
[3057906.119786] [<ffffffff8020e818>] local_clock+0x39/0x83
[3057906.119797] [<ffffffffa000bc36>] :jbd:start_this_handle+0x26d/0x3f0
[3057906.119804] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057906.119812] [<ffffffffa000be54>] :jbd:journal_start+0x9b/0xd2
[3057906.119825] [<ffffffffa0020982>] :ext3:ext3_dirty_inode+0x28/0x7b
[3057906.119831] [<ffffffff802a8a1b>] __mark_inode_dirty+0x29/0x19f
[3057906.119837] [<ffffffff8029ea33>] touch_atime+0x109/0x112
[3057906.119843] [<ffffffff80266506>] generic_file_aio_read+0x44f/0x4b7
[3057906.119850] [<ffffffff8028a6bb>] do_sync_read+0xc9/0x10c
[3057906.119856] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057906.119862] [<ffffffff8028aeac>] vfs_read+0xaa/0x152
[3057906.119867] [<ffffffff8028b28d>] sys_read+0x45/0x6e
[3057906.119872] [<ffffffff8020b528>] system_call+0x68/0x6d
[3057906.119877] [<ffffffff8020b4c0>] system_call+0x0/0x6d
[3057906.119881]
[3057914.712397] INFO: task apache2:3222 blocked for more than 120 seconds.
[3057914.712414] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[3057914.712420] apache2 D 001280d2005f32cf 0 3222 1577
[3057914.712428] ffff880018357bd8 0000000000000282 ffff88003cb2ce78 0000000000000000
[3057914.712436] ffff88003cb2ce40 ffff8800109a40c0 ffff88003cb2d0c0 0000000000000002
[3057914.712443] 0000000000000005 000000000098b722 0000000000000003 ffffffff0000000f
[3057914.712449] Call Trace:
[3057914.712467] [<ffffffff8020e7bc>] get_nsec_offset+0x9/0x2c
[3057914.712480] [<ffffffffa000bc36>] :jbd:start_this_handle+0x26d/0x3f0
[3057914.712488] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057914.712494] [<ffffffff80311f73>] __up_read+0x13/0x8a
[3057914.712502] [<ffffffffa000be54>] :jbd:journal_start+0x9b/0xd2
[3057914.712516] [<ffffffffa0020982>] :ext3:ext3_dirty_inode+0x28/0x7b
[3057914.712523] [<ffffffff802a8a1b>] __mark_inode_dirty+0x29/0x19f
[3057914.712529] [<ffffffff8029ea33>] touch_atime+0x109/0x112
[3057914.712535] [<ffffffff80266506>] generic_file_aio_read+0x44f/0x4b7
[3057914.712543] [<ffffffff8028a6bb>] do_sync_read+0xc9/0x10c
[3057914.712548] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057914.712555] [<ffffffff8028aeac>] vfs_read+0xaa/0x152
[3057914.712560] [<ffffffff8028b28d>] sys_read+0x45/0x6e
[3057914.712565] [<ffffffff8020b528>] system_call+0x68/0x6d
[3057914.712569] [<ffffffff8020b4c0>] system_call+0x0/0x6d
[3057914.712573]
[3057938.332843] INFO: task apache2:3241 blocked for more than 120 seconds.
[3057938.332859] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[3057938.332865] apache2 D 00000000005ee63f 0 3241 1577
[3057938.332873] ffff8800096d9bd8 0000000000000282 ffff880034d91638 ffffffff80222e6b
[3057938.332880] ffff880034d91600 ffff8800109a40c0 ffff880034d91880 0000000015389438
[3057938.332888] ffff880000000005 000000000098b722 ffff880001933ee0 ffff88000000000f
[3057938.332894] Call Trace:
[3057938.332911] [<ffffffff80222e6b>] __dequeue_entity+0x25/0x69
[3057938.332920] [<ffffffff8020e7bc>] get_nsec_offset+0x9/0x2c
[3057938.332925] [<ffffffff8020e818>] local_clock+0x39/0x83
[3057938.332937] [<ffffffffa000bc36>] :jbd:start_this_handle+0x26d/0x3f0
[3057938.332945] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057938.332954] [<ffffffffa000be54>] :jbd:journal_start+0x9b/0xd2
[3057938.332968] [<ffffffffa0020982>] :ext3:ext3_dirty_inode+0x28/0x7b
[3057938.332976] [<ffffffff802a8a1b>] __mark_inode_dirty+0x29/0x19f
[3057938.332983] [<ffffffff8029ea33>] touch_atime+0x109/0x112
[3057938.332989] [<ffffffff80266506>] generic_file_aio_read+0x44f/0x4b7
[3057938.332997] [<ffffffff8028a6bb>] do_sync_read+0xc9/0x10c
[3057938.333003] [<ffffffff8023f729>] autoremove_wake_function+0x0/0x2e
[3057938.333008] [<ffffffff802796d7>] vma_merge+0x104/0x18f
[3057938.333014] [<ffffffff8028aeac>] vfs_read+0xaa/0x152
[3057938.333019] [<ffffffff8028b28d>] sys_read+0x45/0x6e
[3057938.333024] [<ffffffff8020b528>] system_call+0x68/0x6d
[3057938.333028] [<ffffffff8020b4c0>] system_call+0x0/0x6d
[3057938.333032]
[3057942.627651] INFO: task apache2:1577 blocked for more than 120 seconds.
[3057942.627664] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs” disables this message.
[3057942.627670] apache2 D ffff88003e0837d8 0

I don’t know how I missed it, but SIMH 3.9-0 was released!

SIMH, is Bob Supniks emulation package that includes:

  • Data General Nova, Eclipse
  • Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10, PDP-11, PDP-15, VAX
  • GRI Corporation GRI-909, GRI-99
  • IBM 1401, 1620, 1130,  7090/7094, System 3
  • Interdata (Perkin-Elmer) 16b and 32b systems
  • Hewlett-Packard 2114, 2115, 2116, 2100, 21MX, 1000
  • Honeywell H316/H516
  • MITS Altair 8800, with both 8080 and Z80
  • Royal-Mcbee LGP-30, LGP-21
  • Scientific Data Systems SDS 940
  • SWTP 6800
The changes from the previous version are:

0 01-May-2012 scp.c:
– added *nix READLINE support (Mark Pizzolato)
– fixed handling of DO with no arguments (Dave Bryan)
– fixed “SHOW DEVICE” with only one enabled unit (Dave Bryan)
– clarified some help messages (Mark Pizzolato)
– added “SHOW SHOW” and “SHOW <dev> SHOW” commands (Mark Pizzolato)
– fixed bug in deposit stride for numeric input (John Dundas)

sim_console.c
– added support for BREAK key on Windows (Mark Pizzolato)

sim_ether.c
– major revision (Dave Hittner and Mark Pizzolato)
– fixed array overrun which caused SEGFAULT on hosts with many
devices which libpcap can access.
– fixed duplicate MAC address detection to work reliably on switch
connected LANs

sim_tmxr.c:
– made telnet option negotiation more reliable, VAX simulator now
works with PuTTY as console (Mark Pizzolato)

h316_cpu.c:
– fixed bugs in MPY, DIV introduced in 3.8-1 (from Theo Engel)
– fixed bugs in double precision, normalization, SC (from Adrian Wise)
– fixed XR behavior (from Adrian Wise)

hp2100 all peripherals (Dave Bryan):
– Changed I/O signal handlers for newly revised signal model
– Deprecated DEVNO modifier in favor of SC

hp2100_cpu.c (Dave Bryan):
– Minor speedup in “is_mapped”
– Added casts to cpu_mod, dmasio, dmapio, cpu_reset, dma_reset
– Fixed I/O return status bug for DMA cycles
– Failed I/O cycles now stop on failing instruction
– Revised DMA for new multi-card paradigm
– Consolidated DMA reset routines
– DMA channels renamed from 0,1 to 1,2 to match documentation
– Changed I/O instructions, handlers, and DMA for revised signal model
– Changed I/O dispatch table to use DIB pointers
– Removed DMA latency counter
– Fixed DMA requests to enable stealing every cycle
– Fixed DMA priority for channel 1 over channel 2
– Corrected comments for “cpu_set_idle”

hp2100_cpu.h:
– Changed declarations for VMS compiler

hp2100_cpu0.c (Dave Bryan):
– Removed DS note regarding PIF card (is now implemented)

hp2100_cpu4.c (Dave Bryan):
– Added OPSIZE casts to fp_accum calls in .FPWR/.TPWR

hp2100_cpu5.c (Dave Bryan):
– Added sign extension for dim count in “cpu_ema_resolve”
– Eliminated unused variable in “cpu_ema_vset”

hp2100_cpu6.c (Dave Bryan):
– DMA channels renamed from 0,1 to 1,2 to match documentation

hp2100_cpu7.c (Dave Bryan):
– Corrected “opsize” parameter type in vis_abs

hp2100_defs.h (Dave Bryan):
– Added hp_setsc, hp_showsc functions to support SC modifier
– DMA channels renamed from 0,1 to 1,2 to match documentation
– Revised I/O signal enum values for concurrent signals
– Revised I/O macros for new signal handling
– Added DA and DC device select code assignments

hp2100_di.c, hp2100_di.h (Dave Bryan):
– Implemented 12821A HP-IB Disc Interface

hp2100_di_da.c (Dave Bryan):
– Implemented 7906H/20H/25H ICD disc drives

hp2100_dp.c (Dave Bryan):
– Added CNTLR_TYPE cast to dp_settype

hp2100_ds.c (Dave Bryan):
– Rewritten to use the MAC/ICD disc controller library
– ioIOO now notifies controller service of parameter output
– Corrected SRQ generation and FIFO under/overrun detection
– Corrected Clear command to conform to the hardware
– Fixed Request Status to return Unit Unavailable if illegal
– Seek and Cold Load Read now Seek Check if seek in progress
– Remodeled command wait for seek completion
– Corrected status returns for disabled drive, auto-seek
beyond drive limits, Request Sector Address and Wakeup
with invalid or offline unit
– Address verification reenabled if auto-seek during
Read Without Verify

hp2100_fp1.c (Dave Bryan):
– Added missing precision on constant “one” in fp_trun
– Completed the comments for divide; no code changes

hp2100_ipl.c (Dave Bryan):
– Added CARD_INDEX casts to dib.card_index
– A failed STC may now be retried
– Consolidated reporting of consecutive CRS signals
– Revised for new multi-card paradigm

hp2100_lps.c (Dave Bryan):
– Revised detection of CLC at last DMA cycle
– Corrected 12566B (DIAG mode) jumper settings

hp2100_ms.c (Dave Bryan):
– Added CNTLR_TYPE cast to ms_settype

hp2100_mt.c (Dave Bryan):
– Removed redundant MTAB_VUN from “format” MTAB entry
– Fixed command scanning error in mtcio ioIOO handler

hp2100_stddev.c (Dave Bryan):
– Add TBG as a logical name for the CLK device

hp2100_sys.c (Dave Bryan):
– Deprecated DEVNO in favor of SC
– Added hp_setsc, hp_showsc functions to support SC modifier
– Added DA and dummy DC devices
– DMA channels renamed from 0,1 to 1,2 to match documentation
– Changed DIB access for revised signal model

hp_disclib.c, hp_disclib.h (Dave Bryan)
– Created MAC/ICD disc controller library

i1401_cd.c:
– fixed read stacker operation in column binary mode
– fixed punch stacker operation (Van Snyder)

id_pas.c:
– fixed TT_GET_MODE test to use TTUF_MODE_x (Michael Bloom)
– revised to use clock coscheduling

id_tt.c, id_ttc.p:
– revised to use clock coscheduling

id_uvc.c:
– added clock coscheduling routine

1401_cpu.c:
– reverted multiple tape indicator implementation
– fixed EOT indicator test not to clear indicator (Van Snyder)
– fixed divide not to clear word marks in quotient (Van Snyder)
– revised divide algorithm (Van Snyder)

i1401_mt.c:
– reverted multiple tape indicator implementation
– fixed END indicator test not to clear indicator (Van Snyder)
– fixed backspace over tapemark not to set EOR (Van Snyder)
– added no rewind option (Van Snyder)

i1401_sys.c:
– fixed misuse of & instead of && in decode (Peter Schorn)

pdp1_cpu.c:
– fixed misuse of & instead of && in Ea_ch (Michael Bloom)

pdp1_stddev.c:
– fixed unitialized variable in tty output service (Michael Bloom)

pdp10_fe.c:
– revised to use clock coscheduling

pdp11_defs.h:
– fixed priority of PIRQ vs IO; added INT_INTERNALn

pdp11_io.c:
– fixed Qbus interrupts to treat all IO devices (except clock) as BR4
– fixed order of int_internal (Jordi Guillaumes i Pons)

ppd11_rf.c
– fixed bug in updating mem addr extension (Peter Schorn)

pdp11_rk.c:
– fixed bug in read header (Walter F Mueller)

pdp11_rl.c:
– added debug support

pdp11_rq.c:
– added RD32 support

pdp11_tq.c: (Mark Pizzolato)
– set UNIT_SXC flag when a tape mark is encountered
during forward motion read operations
– fixed logic which clears UNIT_SXC to check command modifier
– added CMF_WR flag to tq_cmf entry for OP_WTM
– made non-immediate rewind positioning operations take 2 seconds
– added UNIT_IDLE flag to tq units.
– fixed debug output of tape file positions when they are 64b
– added more debug output after positioning operations
– added textual display of the command being performed
– fixed comments about register addresses

pdp11_ts.c:
– fixed t_addr printouts for 64b big-endian systems (Mark Pizzolato)

pdp11_tu.c:
– fixed t_addr printouts for 64b big-endian systems (Mark Pizzolato)

pdp11_vh.c: (Mark Pizzolato)
– fixed SET VH LINES=n to correctly adjust the number
of lines available to be 8, 16, 24, or 32.
– fixed performance issue avoiding redundant polling

pdp11_xq.c: (Mark Pizzolato)
– Fixed missing information from save/restore which
caused operations to not complete correctly after
a restore until the OS reset the controller.
– Added address conflict check during attach.
– Fixed loopback processing to correctly handle forward packets.
– Fixed interrupt dispatch issue which caused delivered packets
(in and out) to sometimes not interrupt the CPU after processing.
– Fixed the SCP visibile SA registers to always display the
ROM mac address, even after it is changed by SET XQ MAC=.
– Added changes so that the Console DELQA diagnostic (>>>TEST 82)
will succeed.
– Added DELQA-T (aka DELQA Plus) device emulation support.
– Added dropped frame statistics to record when the receiver discards
received packets due to the receiver being disabled, or due to the
XQ device’s packet receive queue being full.
– Fixed bug in receive processing when we’re not polling. This could
cause receive processing to never be activated again if we don’t
read all available packets via eth_read each time we get the
opportunity.
– Added the ability to Coalesce received packet interrupts. This
is enabled by SET XQ POLL=DELAY=nnn where nnn is a number of
microseconds to delay the triggering of an interrupt when a packet
is received.
– Added SET XQ POLL=DISABLE (aka SET XQ POLL=0) to operate without
polling for packet read completion.
– Changed the sanity and id timer mechanisms to use a separate timer
unit so that transmit and recieve activities can be dealt with
by the normal xq_svc routine.
Dynamically determine the timer polling rate based on the
calibrated tmr_poll and clk_tps values of the simulator.
– Enabled the SET XQ POLL to be meaningful if the simulator currently
doesn’t support idling.
– Changed xq_debug_setup to use sim_debug instead of printf so that
all debug output goes to the same place.
– Restored the call to xq_svc after all successful calls to eth_write
to allow receive processing to happen before the next event
service time. This must have been inadvertently commented out
while other things were being tested.

pdp11_xu.c: (Mark Pizzolato)
– Added SHOW XU FILTERS modifier (Dave Hittner)
– Corrected SELFTEST command, enabling use by VMS 3.7, VMS 4.7, and Ultrix 1.1 (Dave Hittner)
– Added address conflict check during attach.
– Added loopback processing support
– Fixed the fact that no broadcast packets were received by the DEUNA
– Fixed transmitted packets to have the correct source MAC address.
– Fixed incorrect address filter setting calling eth_filter().

pdp18b_stddev.c:
– added clock coscheduling
– revised TTI to use clock coscheduling and to fix perpetual CAF bug

pdp18b_ttx.c:
– revised to use clock coscheduling

pdp8_clk.c:
– added clock coscheduling

pdp8_fpp.c: (Rick Murphy)
– many bug fixes; now functional

pdp8_tt.c:
– revised to use clock coscheduling and to fix perpetual CAF bug

pdp8_ttx.c:
– revised to use clock cosheduling

pdp8_sys.c:
– added link to FPP

pdp8_td.c:
– fixed SDLC to clear AC (Dave Gesswein)

sds_mt.c:
– fixed bug in scan function decode (Peter Schorn)

vax_cpu.c:
– revised idle design (Mark Pizzolato)
– fixed bug in SET CPU IDLE
– fixed failure to clear PSL<tp> in BPT, XFC

vax_cpu1.c:
– revised idle design Mark Pizzolato)
– added VEC_QMODE test in interrupt handler

vax_fpa.c:
– fixed integer overflow bug in EMODx (Camiel Vanderhoeven)
– fixed POLYx normalizing before add mask bug (Camiel Vanderhoeven)
– fixed missing arguments in 32b floating add (Mark Pizzolato)

vax_octa.c (Camiel Vanderhoeven)
– fixed integer overflow bug in EMODH
– fixed POLYH normalizing before add mask bug

vax_stddev.c:
– revised to use clock coscheduling

vax_syscm.c:
– fixed t_addr printouts for 64b big-endian systems (Mark Pizzolato)

vax_sysdev.c:
– added power clear call to boot routine (Mark Pizzolato)

vax780_sbi.c:
– added AUTORESTART switch support (Mark Pizzolato)

vax780_stddev.c
– added REBOOT support (Mark Pizzolato)
– revised to use clock coscheduling

vaxmod_def.h
– moved all Qbus devices to BR4; deleted RP definitions

 

Anyways, let the good times roll!

 

Qemu enters the 1.1 release candidate stage…

Of the interesting changes this one caught my eye:

64-bit Windows hosts are now supported.

I’ll have to see about how easy/hard it’ll be to load up a 64bit toolchain and build from there…

Anyways nothing to show for it just yet, but if I get it building I’ll be doing 64bit Qemu builds going forward, the 32bit stuff was fun back in the day, but who isn’t using a 64bit CPU in this day & age?

Revenge of Shinobi now available on steam!

I remember paying well over $100 CDN for this back when it came out… But now its on sale for $2.99 … lol wow the times have changed!  And of course this is where the whole ‘neozeed’ thing came from, nothing to do with the matrix.

I wonder how long until they start releasing SegaCD & 32x stuff?

Looks like instead of drinking too many dos equis, I’ll be trying to remember how to do that double jump throw thing.

Coherent on Qemu

well apparently it *DOES* work, however the disk access is incredibly slow, like 1kb/sec slow.. I can’t help but wonder if it is somehow tied to how NetWare 3.12 bombs on Qemu once it tries to mount a volume….

Anyways, you can read all about it on “The beez speaks:” which goes into some detail on how to dump Qemu’s running state, and restore.. Kind of handy actually.

I remember the print ads for Coherent, nearly bought it but I felt too weirded out by it being mail order.  My loss I guess, but it sure would have been nice to have before the whole rise of 386 BSD / Linux …