Jump to content

Photo

M.U.L.E. - For the Apple, is it Impossible?


41 replies to this topic

#26 Great Hierophant ONLINE  

Great Hierophant

    Stargunner

  • Topic Starter
  • 1,354 posts
  • Scribbler
  • Location:Massachusetts

Posted Tue May 16, 2017 9:34 AM

The main Wizardry program would probably have required two disks on the Atari as opposed to one on the Apple.

The C64 could do four player MULE. Only one joystick was required for the development phase, but two joysticks were used during the auction phase along with two sets of keys on the keyboard.

#27 zzip OFFLINE  

zzip

    Stargunner

  • 1,318 posts

Posted Tue May 16, 2017 10:11 AM

The main Wizardry program would probably have required two disks on the Atari as opposed to one on the Apple.


Yeah but many Atari RPGs required 4 or 5, so no big deal there! lol

The C64 could do four player MULE. Only one joystick was required for the development phase, but two joysticks were used during the auction phase along with two sets of keys on the keyboard.


Depends. Can the C64 interpret two separate keypresses simultaneously? Lots of the computers of that era couldn't handle that.

#28 JamesD OFFLINE  

JamesD

    Quadrunner

  • 7,655 posts
  • Location:Flyover State

Posted Tue May 16, 2017 10:21 AM

I think "It's not possible" really means "We're not interested in doing it" MULE could be done, with some tradeoffs. The other versions had tradeoffs. Maybe you couldn't do 4 player, but the XL/XE and C64 couldn't do 4-player either. The XL/XE could do three players if you used paddles. You could mix joystick and keyboard on apple.

The Wizardry guys said the same thing when asked about porting Wizardry to Atari. "Not possible" Looking at that games graphics, I see nothing the Atari couldn't do. Supposedly the problem was the disk drive. Again, I'm sure tradeoffs could be made.

I think most of the people capable of doing it are just more interested in other projects.  
MULE is fun but it's definitely not pushing the envelope of what is possible.

Wizardy was a combination of things.  Not having UCSD Pascal, a fast disk drive, or even expanded RAM to preload code and data to eliminate delays.
Fast loaders, and expanded RAM are common now, but in 1981 when Wizardry came out, that wasn't the case.
And there still isn't a version of UCSD for the Atari.  That's mostly due to UCSD's creators and Atari though.  Neither one pursued it.

*edit*
Come to think if it, by the time Atari came out with a 64K model in 1983, UCSD Pascal might have been sold to a private company.
64K was one of the requirements of running UCSD Pascal.


Edited by JamesD, Tue May 16, 2017 10:58 AM.


#29 zzip OFFLINE  

zzip

    Stargunner

  • 1,318 posts

Posted Tue May 16, 2017 10:29 AM

Wizardy was a combination of things.  Not having UCSD Pascal, a fast disk drive, or even expanded RAM to preload code and data to eliminate delays.
Fast loaders, and expanded RAM are common now, but in 1981 when Wizardry came out, that wasn't the case.
And there still isn't a version of UCSD for the Atari.  That's mostly due to UCSD's creators and Atari though.  Neither one pursued it.


Oh yes, thanks for reminding me! Didn't UCSD have a virtual memory system in its runtime? And that was the cause of needing a fast disk drive?

So porting Wizardry would have meant rewriting it in a different language. I would still maintain Atari could handle the game itself, if rewritten in Action! or something. But again it's an effort they weren't interested in, so they just said "not possible"

Edited by zzip, Tue May 16, 2017 10:29 AM.


#30 Great Hierophant ONLINE  

Great Hierophant

    Stargunner

  • Topic Starter
  • 1,354 posts
  • Scribbler
  • Location:Massachusetts

Posted Tue May 16, 2017 10:44 AM

I think most of the people capable of doing it are just more interested in other projects.  
MULE is fun but it's definitely not pushing the envelope of what is possible.

Wizardy was a combination of things.  Not having UCSD Pascal, a fast disk drive, or even expanded RAM to preload code and data to eliminate delays.
Fast loaders, and expanded RAM are common now, but in 1981 when Wizardry came out, that wasn't the case.
And there still isn't a version of UCSD for the Atari.  That's mostly due to UCSD's creators and Atari though.  Neither one pursued it.


Wizardry was ported to the IBM PC, C64, NES and many other computer systems. I doubt that all of them had a Pascal runtime available to compile code suitable for each system.

#31 JamesD OFFLINE  

JamesD

    Quadrunner

  • 7,655 posts
  • Location:Flyover State

Posted Tue May 16, 2017 12:42 PM

Stop focusing on the hardware not possible and focus on the software not possible for them.

Wizardy was written by a couple college students just writing it for fun.
The guy doing the coding wasn't even a CS major if I remember right.
Do you really think they could have created Wizardry in assembly?

 

Action didn't come out until 1983.  These guys wrote it somewhere in the 1979-80 time frame.
Even assemblers were pretty primitive at that time.

There wasn't even a Tiny Pascal compiler for the Atari.

The IBM version probably used Turbo Pascal.  RAM and disk drive speed wasn't an issue.  
I do think there was a version of UCSD Pascal for the IBM though.  I'm not sure what year it came out though.

The C64 version came out in 1985.  With a potential market of several million machines, it pays to hire some guys to convert it to assembly.  
All the design work was basically done, so they didn't have to work that out at all. 

The NES uses a cart and tile based graphics system that doesn't have to worry about loading from a disk drive or how much RAM there is.

Wizardry didn't get ported to the Atari because the Atari didn't have the market of the other machines.
 

FWIW, there was a Pascal compiler for the C64 called G-Pascal that might have been able to do the job with a little work 1983.

UCSD Pascal could have been ported to the Atari, it just wasn't, and by the time Wizardry was being ported to other machines,

people saw the Atari as a small market in comparison to the IBM, C64 and NES.
 


Edited by JamesD, Tue May 16, 2017 1:02 PM.


#32 Bill Loguidice OFFLINE  

Bill Loguidice

    Quadrunner

  • 5,676 posts
  • Armchair Arcade Managing Director
  • Location:Central New Jersey, USA

Posted Tue May 16, 2017 12:45 PM

The C-64 port of the Wizardry trilogy didn't release until 1987 (it even got Wizardry V, but not IV). By then the Atari 8-bit disk market was probably deemed not worth the porting effort.



#33 zzip OFFLINE  

zzip

    Stargunner

  • 1,318 posts

Posted Tue May 16, 2017 1:20 PM

Stop focusing on the hardware not possible and focus on the software not possible for them.
Wizardy was written by a couple college students just writing it for fun.
The guy doing the coding wasn't even a CS major if I remember right.
Do you really think they could have created Wizardry in assembly?
 
Action didn't come out until 1983.  These guys wrote it somewhere in the 1979-80 time frame.
Even assemblers were pretty primitive at that time.
There wasn't even a Tiny Pascal compiler for the Atari.


When I read their quote about "not possible to port to Atari" it was definitely post 1983 because I didn't read game/computer mags until 83.


Wizardry didn't get ported to the Atari because the Atari didn't have the market of the other machines.
 
FWIW, there was a Pascal compiler for the C64 called G-Pascal that might have been able to do the job with a little work 1983.
UCSD Pascal could have been ported to the Atari, it just wasn't, and by the time Wizardry was being ported to other machines,
people saw the Atari as a small market in comparison to the IBM, C64 and NES.


Which I'm sure is the correct answer. I'm just pointing out that devs were saying "Not possible" when they really meant "too much work/ not enough market/ or we just flat aren't interested"

#34 Bill Loguidice OFFLINE  

Bill Loguidice

    Quadrunner

  • 5,676 posts
  • Armchair Arcade Managing Director
  • Location:Central New Jersey, USA

Posted Tue May 16, 2017 1:30 PM

Which I'm sure is the correct answer. I'm just pointing out that devs were saying "Not possible" when they really meant "too much work/ not enough market/ or we just flat aren't interested"

 

I agree, but I believe Sir-Tech at the time also had a general "not possible" attitude, being beholden to their Pascal-based dev system for way too long (much like Infocom with their dev environment). To prove the idea wrong, Silvern Castle was made in 1988 for the Apple II in AppleSoft Basic: http://finkjsc.a2hq.com/silverncastle/



#35 JamesD OFFLINE  

JamesD

    Quadrunner

  • 7,655 posts
  • Location:Flyover State

Posted Tue May 16, 2017 4:59 PM

This article claims they created port of Wizardry by porting UCSD Pascal ports.  
That might actually be easier than converting the game to assembly.

http://gaming.wikia.com/wiki/Wizardry
 



#36 MarkO OFFLINE  

MarkO

    Dragonstomper

  • 855 posts
  • Location:Albany, Oregon, USA, North Western Hemisphere, Planet Tera

Posted Thu May 18, 2017 3:13 PM

Wizardry was ported to the IBM PC, C64, NES and many other computer systems. I doubt that all of them had a Pascal runtime available to compile code suitable for each system.


Actually, UCSD P-System was available for the IBM-PC at the original Ship Date... It was the Third OS available for the IBM-PC, after CP/M-86 and PC-DOS v1.00.

( Remember that PC-DOS was shipped with the Machine and Included in the Cost, where as CP/M-86 and the UCSD P-System were an extra cost.. Look which one Won Out... )

MarkO

Edited by MarkO, Thu May 18, 2017 3:15 PM.


#37 carlsson ONLINE  

carlsson

    River Patroller

  • 4,855 posts
  • Location:Västerås, Sweden

Posted Fri May 19, 2017 5:05 AM

Can the C64 interpret two separate keypresses simultaneously? Lots of the computers of that era couldn't handle that.

I haven't played M.U.L.E. with four players a lot on either the Atari 800 or the C64, but I strongly think you can push multiple buttons on the C64 and read out their values individually. Some music programs allowed you to play three note chords on the keyboard that way, and it would work rather well.

 

If you are curious, there are some code examples and discussion here:

http://codebase64.or...ng_the_keyboard



#38 Great Hierophant ONLINE  

Great Hierophant

    Stargunner

  • Topic Starter
  • 1,354 posts
  • Scribbler
  • Location:Massachusetts

Posted Fri Sep 29, 2017 11:58 AM

Thought I would bump this thread with this four player digital joystick adapter that is easy to build : http://lukazi.blogsp...stick-card.html

 

Also, I'm sure a Mockingboard could do justice to the music of M.U.L.E. :)  



#39 thorr OFFLINE  

thorr

    Chopper Commander

  • 142 posts

Posted Fri Sep 29, 2017 8:08 PM

I didn't read the entire thread and I am not familiar with M.U.L.E. but the joystick adapter caught my attention.  I also did not read the article about the joystick adapter.  In my complete ignorance, my opinion is that a special joystick adapter could be created for any Apple II including the Apple IIc that allows four Atari style joysticks.  It would just require that the software knows about it and is programmed for it.  The idea is that the Apple II supports analog X, analog Y and two buttons in the joystick port.  The analog portion has a range from 0 to 255 for X and for Y.  This could be divided up using resistors and the Atari joysticks buttons and directions.  It would just require calibration before using it.  So for example, Atari Joystick 1 would have 8 directions and a button for a total of 9 values.  Multiply this by two and you have 18 values that can be divided up on the X axis.  The other two Atari Joysticks can use the Y axis.  256 divided by 18 = 14 ohms of separation required between each direction or button.  That would be the trickiest part, but it could be created using small potentiometers that can be adjusted on the circuit board so each one registers correctly in its range by the Apple II.  While this is probably possible, I doubt anyone would go through the trouble to create this and program this just so they can have four joysticks and play M.U.L.E. on the Apple II. :)



#40 thorr OFFLINE  

thorr

    Chopper Commander

  • 142 posts

Posted Fri Sep 29, 2017 9:43 PM

Just an edit to the above, there would be 14 values (not ohms) of separation between each direction or button.  So for example, 0 to 13 would be up, 14 to 27 would be down, etc.  You would then calibrate the potentiometers to fall in the middle of each range and program M.U.L.E. to accept values between 0 and 13 for up, etc.

 

Also, I didn't account for having nothing pressed on the joystick.  This could be handled by dividing up the range further, so it would be 10 positions for each joystick instead of 9.  So 20 positions to divide up for two joysticks on X and another 20 on Y.  256 divided by 20 is 12.8 so effectively 0 to 11 would be no direction or button, 12-23, would be down, etc.

 

Thinking out loud as I type, the buttons are another issue because a button can be pressed while a direction is going at the same time.  To handle this, the buttons need to be used, but there are only two buttons on the Apple II joystick and we would need four.  Another way to handle it would be to divide it all in half again and have the lower half of the 256 range be without the button pressed and the upper half be with the button pressed.

 

Now another problem I just thought of is the two joysticks on each axis could be used at the same time.  Again, the ranges could be divided up to have 0-3 is nothing on both joysticks, 4-6 is up with no button on the first joystick, 7-9 is up with no button on the second joystick, 10-12 is up with no button on both joysticks, 13-15 is up with button on the first joystick, etc.  I don't feel like doing the math, but this is becoming very precise and there are up to 512 values plus two buttons from the Apple II side that could be used to interpret all the combinations that could happen on the four Atari joysticks.  This would require a way to very exactly inject ohm values that would be read by the Apple II and I am not sure if this would be possible with high quality electronics or not.  Again, it is all theory and probably possible, and totally not worth the effort. :)


Edited by thorr, Fri Sep 29, 2017 10:00 PM.


#41 Great Hierophant ONLINE  

Great Hierophant

    Stargunner

  • Topic Starter
  • 1,354 posts
  • Scribbler
  • Location:Massachusetts

Posted Fri Sep 29, 2017 9:54 PM

The thing I like about the 4joy adapter is that the thing is ingenuously simple by Apple IIe standards.  It just puts a single digital joystick at a single memory location, dictated by the location of the card.  All you need to do is to initiate a read of that location and the latch places the value on the bus.  The value represents the position of the joystick plus the button(s).  Plus the memory locations for each of the four cards are sequential, so the whole reading would take no time at all.  



#42 thorr OFFLINE  

thorr

    Chopper Commander

  • 142 posts

Posted Fri Sep 29, 2017 10:56 PM

Except, I have an Apple IIc so I am biased against a card solution.  :-)

 

A much simpler solution than my previous suggestion of using the joystick port would be to use the modem port.  Set it to 9600 Baud and send input that way depending on the position of the four joysticks.  You could have 10 joysticks if you wanted and it would work great.  In my college days, I actually wired up two Motorola 6809 CPU's to talk to each other via a null serial modem connection using nothing but chips and lots of wires.  It was very easy to do. 

 

For four joysticks, you could send one byte for each joystick value in a continuous loop of four bytes.  The byte would use binary.  You could implement a one or two button joystick. The left two bits would be 00, 01, 10, or 11 to say which of the four joysticks that byte was for. The next two bits would be used for up to a two button joystick (00,01,10,11) for the possible button presses, leaving four bits for the directions which is enough for 16 directions of which you only need 9 including a centered joystick and the four main directions and four diagonals. So it would be very easy to implement four one-button or two-button digital joysticks.


Edited by thorr, Fri Sep 29, 2017 11:31 PM.




Reply to this topic



  


0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users