[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Trying to work out how to support non-MLI smartport calls
- Subject: Trying to work out how to support non-MLI smartport calls
- From: BLuRry <brendan.robert@gmail.com>
- Date: Wed, 27 Jun 2012 11:00:40 -0700 (PDT)
- Complaints-to: groups-abuse@google.com
- Injection-info: glegroupsg2000goo.googlegroups.com; posting-host=70.123.154.97; posting-account=HyIOQgoAAAAfAUGOevdCSBhPYcDSPtM9
- Newsgroups: comp.sys.apple2
- Organization: http://groups.google.com
- User-agent: G2/1.0
Is there a good resource for explaining the ins and outs of smartport from a non-MLI perspective? I tried to make sense of the //gs firmware guide but it was a slight-bit obtuse.
What I'm really after is to support the direct disk reads in the Prince of Persia 3.5 version -- specifically where it calls DRIVER_OFFSET+3, DRIVER_OFFSET+4 and DRIVER_OFFSET+6, where DRIVER_OFFSET is generally $0A in the //gs and //c firmware (I confirmed this much by powering up my //c and //gs machines.) I know that JSR or JMP to DRIVER_OFFSET goes to the MLI command handler, and I've supported that much for quite a while. But I'm ready to evolve my .2mg support of non-prodos games.
The PoP source for smartport routines is here, and the call I'm talking about specifically is on line 252:
https://github.com/jmechner/Prince-of-Persia-Apple-II/blob/master/02%20POP%20Disk%20Routines/RW1835/RW1835.POP.S
Thanks!
-Brendan