mbbsemu / MBBSEmu

The MajorBBS Emulation Project is an Open Source, Cross-Platform emulator for easily running The MajorBBS & Worldgroup Modules
https://www.mbbsemu.com
MIT License
128 stars 14 forks source link

[BSSCRAK] CrAcKeD! - Unknown Exported Function Ordinal in MAJORBBS: 82:BAUDAT #509

Closed ftoledo closed 2 years ago

ftoledo commented 2 years ago

Module Information

Describe the bug Crash at start game

The game run for users with has MASTER KEY in demo mode

To Reproduce

add master key to user: /sys addkey user master

start the game from menu

2021-10-31 02:13:57.8527 Debug MBBSEmu.HostProcess.ExportedModules.Majorbbs.setmbk (BSSCRAK) Enqueue Previous MCV File: BSSCRAK.MCV (Pointer: FFFF:0000)
2021-10-31 02:13:57.8527 Debug MBBSEmu.HostProcess.ExportedModules.Majorbbs.setmbk (BSSCRAK) Set Current MCV File: BSSCRAK.MCV (Pointer: FFFF:0000)
2021-10-31 02:13:57.8532 Debug MBBSEmu.HostProcess.ExportedModules.Majorbbs.setbtv (BSSCRAK) Setting current Btrieve file to BSSCRAK.DAT (1000:AC22)
2021-10-31 02:13:57.8532 Debug MBBSEmu.HostProcess.ExportedModules.Majorbbs.haskey (BSSCRAK) Returning 1 for Haskey(MASTER)
2021-10-31 02:13:57.8648 Error MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke Unknown Exported Function Ordinal in MAJORBBS: 82:BAUDAT
Unhandled exception. System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Unknown Exported Function Ordinal in MAJORBBS: 82:BAUDAT')
   at MBBSEmu.HostProcess.ExportedModules.Majorbbs.Invoke(UInt16 ordinal, Boolean offsetsOnly)
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.ExternalFunctionDelegate(UInt16 ordinal, UInt16 functionOrdinal)
   at MBBSEmu.CPU.CpuCore.Op_Call()
   at MBBSEmu.CPU.CpuCore.Tick()
   at MBBSEmu.HostProcess.ExecutionUnits.ExecutionUnit.Execute(FarPtr entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.Module.MbbsModule.Execute(FarPtr entryPoint, UInt16 channelNumber, Boolean simulateCallFar, Boolean bypassSetState, Queue`1 initialStackValues, UInt16 initialStackPointer)
   at MBBSEmu.HostProcess.MbbsHost.Run(String moduleName, FarPtr routine, UInt16 channelNumber, Boolean simulateCallFar, Queue`1 initialStackValues)
   at MBBSEmu.HostProcess.MbbsHost.WorkerThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
Abortado
ftoledo commented 2 years ago

Original installer:

bsscrak1.zip

tuday2 commented 2 years ago

image

tuday2 commented 2 years ago

The posted issue is a missing Ordinal 82 (BAUDAT) --- once you add that it is missing Ordinal 549 (SHOCHL).

I stubbed out both of these and the game plays great (I don't think we need either of them).

tuday2 commented 2 years ago

Screenshot of gameplay:

image

image