Previous Thread
Next Thread
Print Thread
Page 49 of 80 1 2 47 48 49 50 51 79 80
Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
I was looking at the "remapping" table and it looks like the first 5 colors and the last 3 colors line up pretty well with the double hi-res graphics colors.

The gazelle software only seems to care about the 8 colors used for Videotex Viewdata. Maybe it doesn't use the other colors?

2 bits for blue, 3 for green, 3 for red

BGR
00 = 000 black
07 = 001 red
c0 = 100 blue
C7 = 101 b+r= magenta
38 = 010 green
00 = 000
FF = 111
C7 = 101
00 = 000
00 = 000
00 = 000
FF = 111
00 = 000
3F = 011 g+r = yellow
F8 = 110 b+g = cyan
FF = 111 white


I happened along a really cool spreadsheet regarding apple ii double-hi res and the 16 colors:

Apple II Video Display Theory

https://www.kreativekorp.com/software/fonts/apple2.shtml

https://docs.google.com/spreadsheets/d/1rKR6A_bVniSCtIP_rrv8QLWJdj4h6jEU1jJj0AebWwg/edit?usp=sharing

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
Here's a rare piece of hardware: The HAL Labs gizmo, which is only supported by 2 games that I could find: Super Taxman and Vindicator, both by HAL Labs.

There's a picture on Atari Age forums:

[Linked Image from i.imgur.com]

https://atariage.com/forums/gallery/image/12734-gizmo/

There's a few more posts from Greg Autry on Atari Age:

https://atariage.com/forums/topic/216495-taxman/
https://atariage.com/forums/profile/41442-gautry/content/
Quote
gautry

Sorry I'm late to the thread. If anyone is still paying attention, I was the founder of HAL Labs. Brian Fitzgerald and I developed Taxman while in high school and as undergrads living in a trailer on campus at UC Irvine 1980-1981.

I take exception with any criticisms here. It was a nearly perfect copy of Pacman, far better than the other Apple clones and Atari produced versions for other platforms. Brian's bit mapping algorithms were way faster and far smoother (see Broderbund's Snoggle for instance) and the AI on our ghosts was damn good. We even replicated minor things like being able to pass through a ghost on rare occasions (1/255 collisions). Some people hate the keyboard controls, but the Apple's potentiometer based joystick, while great for flight simulators, was terrible for maze games which should be restricted to a four switch movement.
...
We were so frustrated by the Apple Joystick that we developed an adapter with encoding hardware to allow an Atari style 9pin arcade (4 switch) joystick to plug into the Apple II 16 pin DIP connector. Playing Taxman with a WICO joystick was actually really nice.

...
Unfortunately no. There was only one chip (7400 series) let me see if I can remember what it was or how to wire it. Essentially we sent signal out the enunciator port to the chip telling it which of the 4 inputs to accept as a button press at that moment. It was 30 years ago . . . Unfortunately the device I have is sealed with epoxy.


It could only work with software written for it and there wasn't much. Supertaxman and a really great game we did called Vindicator, which was a bit like Robotron. Really incredibly fast for the 1mhz 8 bit CPU. Our distribution died at that time as BIG organizations piled into the market with massive marketing budgets and very few people got to see it. A couple of other small game companies supported the device, but I don't recall which games.



From the code, it sets or clears the 3 annunciators an0,an1, and an2 to select one of the 5 atari joystick lines and reads the address c061 (button0) to get the bit. These seem to be active highs. Just an 8 to 1 mux. 74151 perhaps?

I copied joystick.h to gizmo.h and added a little bit:

Adding m_an2

Code
      // input ports
        required_ioport m_player1, m_player2;
        int m_an0, m_an1, m_an2;
        int gizmotable[8] = {1,3,2,0,4,5,5,5};  // right, left, down, up, fire, none, none, none
Copying joystick.cpp to gizmo.cpp and adding the gizmotable as a save item so I could change the values from the debug view in real time because I was having some trouble getting it just right.

Code

void apple2_gizmo_device::device_start()
{
        save_item(NAME(m_an0));
        save_item(NAME(m_an1));
        save_item(NAME(m_an2));
        save_item(NAME(gizmotable));
}



READ_LINE_MEMBER(apple2_gizmo_device::sw0_r)
{
/*      PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )                 0 = up
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )          1 = right
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )         2 = down
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )             3 = left
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )                        4 = fire
*/

        return BIT(m_player1->read(),gizmotable[m_an0+m_an1*2+m_an2*4]) ^ 0x1;    // active high so we'll invert it
}

[Linked Image from i.imgur.com]

If you set the 4 to 6 in the gizmotable you get autofire in Vindicator, it's much easier.

Hit enter once to get the Gizmo.
[Linked Image from i.imgur.com]
There's a built in sprite editor, just hit esc on the control selection screen.
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com][Linked Image from i.imgur.com]

Vindicator is a Robotron clone that if it were a bit less manic it'd be a really good game. Your character moves too fast and can be hard to control. I'm going to try and patch it sometime to make it more playable.


In Super Taxman 2, just hit the space bar to start, it is set up already to use the Gizmo. The original taxman didn't have any support that I could find.

[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
I wanted to test out some two player games that used regular joysticks like Archon and One on One but there's an interesting problem, on these two games, they've put the firebutton for player to on input switch #1.

According to the documentation:
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
and scrg paddle adapple manual you just move a jumper wire.

What makes sense to me for the paddle adapple is:

S1C is switch 1 computer ---> S0B switch 0 socket B (player 2 on socket B)
S0C is switch 0 computer ----> S0A switch 0 socket A (player 1 on socket A)

[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]

It'd be neat to have the remappability functionality of the paddle adapple.

[Linked Image from i.imgur.com]


Pretty simple modification, just change sw1_r to look for BIT number 6 (player 2 button 0)

Code
u8 apple2_joystick_device::pdl0_r()
{
        return m_joy_x[0]->read();
}

u8 apple2_joystick_device::pdl1_r()
{
        return m_joy_y[0]->read();
}

u8 apple2_joystick_device::pdl2_r()
{
        return m_joy_x[1]->read();
}

u8 apple2_joystick_device::pdl3_r()
{
        return m_joy_y[1]->read();
}

READ_LINE_MEMBER(apple2_joystick_device::sw0_r)
{
        return BIT(m_buttons->read(), 4);
}

READ_LINE_MEMBER(apple2_joystick_device::sw1_r)
{
//      return BIT(m_buttons->read(), 5);   single player
        return BIT(m_buttons->read(), 6);   // two player, archon and 1 on 1 want joystick 2 button here
}


Last edited by Golden Child; 09/11/19 08:23 PM.
Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
So I thought I'd see if HorizonV by Nasir would do the joyport thing, and it does but it's a little bit strange.

It will only ask you once what controller you are going to use, and if you don't type CTRL+SHIFT+P right at that moment you won't be able to switch to the joyport. But it isn't consistent about how it uses the ports. Note that it doesn't list the joyport as an option.

[Linked Image from i.imgur.com]

I think that it was written with using the switch in the Left Position where it completely ignores what the m_an0 is doing. Because it wants to turn an0 on and off which chooses the other joystick. So the fire button ends up on the other joystick from where the left/right and up/down is.

[Linked Image from i.imgur.com]

So why don't we try to reproduce that functionality with a little configuration option:
Code
        PORT_START("joyport_config")
        PORT_CONFNAME(0x03, 0x01, "Joyport Switch Setting")
        PORT_CONFSETTING(0x00, "Left (Joystick 1)")
        PORT_CONFSETTING(0x01, "Middle (2 Player - Both)")
        PORT_CONFSETTING(0x02, "Right (Joystick 2)")

        PORT_CONFNAME(0x0C, 0x04, "Atari Joystick / Paddle Switch")
        PORT_CONFSETTING(0x04, "Joystick")
        PORT_CONFSETTING(0x08, "4 Player Paddle")
add it to our device:
Code
apple2_joyport_device::apple2_joyport_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
        : device_t(mconfig, APPLE2_JOYPORT, tag, owner, clock)
        , device_a2gameio_interface(mconfig, *this)
        , m_player1(*this, "joystick_p1")
        , m_player2(*this, "joystick_p2")
        , m_joyport_config(*this, "joyport_config")
{
}

and add the required_ioport to our .h file:
Code
        // input ports
        required_ioport m_player1, m_player2;
        required_ioport m_joyport_config;


Code
READ_LINE_MEMBER(apple2_joyport_device::sw0_r)
{
        u8 port_read;
        if      ((m_joyport_config->read() & 0x03) == 0x00) port_read = m_player1->read();
        else if ((m_joyport_config->read() & 0x03) == 0x01) port_read = m_an0 ? m_player2->read() : m_player1->read();
        else if ((m_joyport_config->read() & 0x03) == 0x02) port_read = m_player2->read();
        return BIT(port_read, 4);
}


the other switches are pretty similar to this one:


and now you can just switch the port into left / middle (both) / right

[Linked Image from i.imgur.com]

And I reckon I could implement the Paddle Adapple functionality with a similar configuration option, one for each of the inputs, have a corresponding output and just select the one you want.

Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
Taking some liberties with the apple2 remap table, so I can get underscore with CTRL+SHIFT+O, I can use the step by step disk. Sure I can catalog it, and use esc ijkm, space and arrow keys to load the characters into the input buffer, but where's the fun in that?

Just modify our remap table:

{ 0x4f,0x4f,0x0f,0x5f }, /* o O 12 */ // 5f will make underscore


I remember this introduction to Basic programming from back in the day.

Step-by-Step BASIC (all in one).dsk

[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]
[Linked Image from i.imgur.com]

It'd be nice to have the workbook, but it's pretty easy to figure out what they're going for.

There was a second one in the series: "Step by Step Two" by Program Design Inc.
[Linked Image from i.imgur.com]

Joined: Jan 2012
Posts: 1,180
Likes: 17
R
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Jan 2012
Posts: 1,180
Likes: 17
https://www.nightfallcrew.com/category/gallery/retro_computers_and_other_stuff/rushware/

Shame you don't do C64 Golden Child grin

That looks like a great little plotter.


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Joined: Feb 2014
Posts: 1,124
Likes: 193
G
Very Senior Member
Offline
Very Senior Member
G
Joined: Feb 2014
Posts: 1,124
Likes: 193
Hi rfka01,

You've got me curious 8-).

The Super Sketch is pretty neat. According to this forum post there's an apple 2 version, but I haven't been able to find a disk image. It doesn't look like it'd be that hard to figure out.


https://atariage.com/forums/topic/275735-what-system-is-this-super-sketch-used/

The forum post said that there were a bunch of different versions:

TI - Cart / Coleco - Cart / Atari - long 9-pin / C64 - long 9-pin / Apple II - 9-pin

C64 Model G2100
Apple Model g2200?
Atari Model G2300
TI Model G2400
Coleco Model G2500



Joined: Jan 2012
Posts: 1,180
Likes: 17
R
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Jan 2012
Posts: 1,180
Likes: 17
Let's see if comp.sys.apple2 knows something ... just posted there smile


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Joined: Jan 2012
Posts: 1,180
Likes: 17
R
rfka01 Offline OP
Very Senior Member
OP Offline
Very Senior Member
R
Joined: Jan 2012
Posts: 1,180
Likes: 17
I completely misunderstood that thing from the first photos! I thought the "tip" would be moved by motors and be some sort of plotter ... but it's a line tracing device smile

Ooops


NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
Joined: Mar 2001
Posts: 17,234
Likes: 260
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,234
Likes: 260
I thought it was a plotter also, and I couldn't figure out how they were getting such smooth curves from an 8-bit micro driving what looked like a toy.

Page 49 of 80 1 2 47 48 49 50 51 79 80

Link Copied to Clipboard
Who's Online Now
4 members (ameath, Dorando, Kale, Pernod), 230 guests, and 0 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,328
Posts122,128
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com