Jump to content
IGNORED

issue with "Demo IIe Interrupt Code"


g0blinish

Recommended Posts

Well, I looked up the parts needed to build a 9928 overlay board to combine video with the Apple output.

The outputs from the 9928 need amps, there are two other chips to decode the Apple video and do the overlay but the circuit is much simpler than the one from back in the day.

I need better docs on the 9938 to consider using it.

This one looks nice: TMS9918A_TMS9928A_TMS9929A_Video_Display_Processors_Data_Manual_Nov82.pdf

or this one: V9938-programmers-guide.pdf

or even better, this one: Yamaha_V9938_MSX-Video_Technical_Data_Book_Aug85.pdf

 

 

The biggest problem with Mockingboard compatibility is chip size. When you have 2 VIAs, 2 AYs, a 9928, RAM, some glue logic, amps, etc... you need a pretty large card.

 

If I didn't have to worry about Mockingboard compatibility, I would directly map the AYs. Having to program the AYs through the VIAs is slower and requires more code. I think just updating one AY register in my music player requires 8 extra instructions.

Both the Mockingboard and the Echo + are good sized boards.

 

I guess you should put the WIZnet 5100 module on there as well, make it a Three-in-One Card.. ;)

 

If you still have a local RadioShack they might have the chips. They are under $4 on ebay, Mouser and Digikey have them... not a tough part to find really.

I just looked at that project. It looks interesting. Seems to me the IIe timing is slightly slower than the II+ on some signals.

Not sure if that has anything to do with the problem he's having or not. Without a logic analyzer it's pretty tough to know what is going on.

My local Radio-Shack is on the Closure List. I checked on Monday Night, no 74LS138/9, but they did have these. I bought Two of them.

 

It definitely looks like a Timing Issue.

The 5100 Module is designed for Small 8 bit Systems, so that should all be accounted for..

 

I was thinking that since the Indirect Bus Interface mode is being "weird", moving to the Direct Bus Interface mode would be the next thing to try. Since the 5100 Module has Four, 2K Buffers for Transmit and Four, 2K Buffers for Receive, the Buffers could Individually be mapped into the Apple's C800-CFFF Memory Space while the Card was being accessed.

 

MarkO

Edited by MarkO
Link to comment
Share on other sites

I know, it's insane. An AY8910 is an AY8910, but the Arcade Board's AY8910 is easier to work with than the one in the Mockingboard because it's right on the bus.

The AY-3-8910 is also a 40 Pin DIP Package, verses the AY-3-8913 which is a 28 Pin DIP Package...

 

 

There's another option - do it BOTH ways - but that might require a LOT of glue logic.

If there is going to be a lot of new Software Development, it would be beneficial to have a Direct Interface, but there has to be the Classic Interface for all the Applications already written, unless someone wants to go through and Patch Everything...

 

If I were to design a board from scratch, I'd put the VDP starting at C0x0, and the PSG at C0x8 (not C0x5 like on the current design), and map read/write to the same address like the Logo board, not different addresses like the Arcade Board. That would at least gain the ability to rework it for a V9938 without breaking compatibility with a TMS9918 version. I'd argue even a GS could benefit from a V9938 card.

That sounds reasonable... Future Proofing.....

 

MarkO

Link to comment
Share on other sites

Thanks, I didn't have that version of the Technical Data Book and the one I have didn't have a lot of that info.

 

BTW, interfacing the AY chips both ways would not be that difficult. You just have to isolate the VIA and direct buss interface from each other.

 

 

Both the Mockingboard and the Echo + are good sized boards.

 

I guess you should put the WIZnet 5100 module on there as well, make it a Three-in-One Card.. ;)

I'd be happy to just get a video board working.

 

FWIW, there are FPGA cores for the AY chips, VIAs and 9938. That would solve the board size issue but it would take a pretty big FPGA to hold all 5 chips though.

 

I think I'd pass on adding the WIZnet module but adding a TI sound chip might be a smart idea. It would make it easier to port games from other machines like the Acorn.

 

Link to comment
Share on other sites

 

 

If there is going to be a lot of new Software Development, it would be beneficial to have a Direct Interface, but there has to be the Classic Interface for all the Applications already written, unless someone wants to go through and Patch Everything...

 

BTW, patching might not be as difficult as it sounds since the new code would be shorter than the old code.

With an emulator that has a decent debugger you put breakpoints on access to the addresses of the VIA chips.

Then you just have to decide if it is a write to an AY chip or something else.

  • Like 1
Link to comment
Share on other sites

If there is going to be a lot of new Software Development, it would be beneficial to have a Direct Interface, but there has to be the Classic Interface for all the Applications already written, unless someone wants to go through and Patch Everything...

That's what I was thinking too (though below).

 

BTW, patching might not be as difficult as it sounds since the new code would be shorter than the old code.

With an emulator that has a decent debugger you put breakpoints on access to the addresses of the VIA chips.

Then you just have to decide if it is a write to an AY chip or something else.

AppleWin xD?

 

I'd be happy to just get a video board working.

 

FWIW, there are FPGA cores for the AY chips, VIAs and 9938. That would solve the board size issue but it would take a pretty big FPGA to hold all 5 chips though.

 

I think I'd pass on adding the WIZnet module but adding a TI sound chip might be a smart idea. It would make it easier to port games from other machines like the Acorn.

Yeah, no need to put f'n ethernet on one of these things. Graphics and sound is plenty (though if you're gonna tie the AY right onto the bus, instead of through a 6522, do you think it would be a good idea to have some sort of interrupt generator besides?)

 

Although why put a SN76489 (what I assume you mean by "TI sound chip") on there? The AY8910 is already more or less the same thing, and given the ports between ColecoVision/SG-1000 and MSX, not to mention Mission (a ColecoVision emu for MSX) and SG2MSX, I think porting from SN to AY is probably already pretty easy.

  • Like 1
Link to comment
Share on other sites

Thanks, I didn't have that version of the Technical Data Book and the one I have didn't have a lot of that info.

Your Welcome, but I did nothing special but do a Search in Google.

 

BTW, interfacing the AY chips both ways would not be that difficult. You just have to isolate the VIA and direct buss interface from each other.

Gating Logic can be used for that...

 

I'd be happy to just get a video board working.

The First Step of a Working Board would be a cause for celebration to the Apple Faithful.. I think a reasonable priced Video Board would be an encouragement for more Apple ][ Software development..

 

FWIW, there are FPGA cores for the AY chips, VIAs and 9938. That would solve the board size issue but it would take a pretty big FPGA to hold all 5 chips though.

 

I think I'd pass on adding the WIZnet module but adding a TI sound chip might be a smart idea. It would make it easier to port games from other machines like the Acorn.

An FPGA could be programmed to Emulate the TI and the GI AY-3-xxxx family, so that Mockingboard and Echo + Support for Legacy Games and TI for Ported Games would make the Investment in the Board a better Deal..

 

The WIZnet module would let you access Online Repositories of Apple Games or let Networked Games be developed without using the Super Serial Card and Virtual Server on a PC.

 

I like Legacy Hardware more than anything, but the chance to make the Apple ][ even better is hard to resist...

 

 

Here is the High-Resolution Sprite-Oriented Color Graphics article by Steve Ciarcia, from the AUG-1982 Byte Magazine. It was a little too big to upload here.

 

MarkO

Link to comment
Share on other sites

The First Step of a Working Board would be a cause for celebration to the Apple Faithful.. I think a reasonable priced Video Board would be an encouragement for more Apple ][ Software development..

 

An FPGA could be programmed to Emulate the TI and the GI AY-3-xxxx family, so that Mockingboard and Echo + Support for Legacy Games and TI for Ported Games would make the Investment in the Board a better Deal..

 

I like Legacy Hardware more than anything, but the chance to make the Apple ][ even better is hard to resist...

If I understand correctly, the Video Overlay Card used a Xilinx FPGA as early as 1988 and was a first-party part.

 

IMO, leave ethernet to ethernet cards, which can go in slot 3 unlike this idea. "Do one thing and do it well", although sound and video really go hand in hand. The Apple ]['s got enough slots to keep ethernet separate.

 

ETA: you're gonna destroy the potential market by adding the kitchen sink. A gaming card doesn't need Ethernet.

Edited by The Usotsuki
Link to comment
Share on other sites

If I understand correctly, the Video Overlay Card used a Xilinx FPGA as early as 1988 and was a first-party part.

 

If you see a photo of the card I'm talking about, the card has no Xilinx FPGA, just a lot of 74LSxx and analog logic.

Transistors, pots and chips oh my!

 

Yeah, no need to put f'n ethernet on one of these things. Graphics and sound is plenty (though if you're gonna tie the AY right onto the bus, instead of through a 6522, do you think it would be a good idea to have some sort of interrupt generator besides?)

 

Although why put a SN76489 (what I assume you mean by "TI sound chip") on there? The AY8910 is already more or less the same thing, and given the ports between ColecoVision/SG-1000 and MSX, not to mention Mission (a ColecoVision emu for MSX) and SG2MSX, I think porting from SN to AY is probably already pretty easy.

 

I think two access methods for the AY chips would be the best approach. Direct and through the VIAs. Then you maintain compatibility and offer improved functionality.

You also keep the timers but I agree, there really needs to be some easy way to trigger a VBLANK interrupt on it's own.

 

Porting from one sound chip to another can be horrible.

Strait musical notes is pretty much lookup tables adjusted for clock frequencies, but there is usually more to it than that.

The SN76489 has more channels and the noise generation is totally different. Same thing with the Pokey.

Both those chips are square wave and the AY can support square wave but that's about where the similarity ends.

Linear feedback, periodic, etc... noise generation is very difficult to duplicate. You almost start from scratch on the chip you are porting to and noise can even be different between two machines with the SN76489.

It's actually worse to go from the AY to the other two because the AY supports multiple wave types, programmable ADSR envelope with logarithmic based sound tables, etc...

You would need a pretty complex program to translate from one to another.

I'm not saying it's impossible, just difficult.

 

To put it a simpler way, you can play the same notes on two different guitars and it will sound very different.

 

Part of the reason I suggest the SN76489 is that it only takes one address and that makes it less likely to conflict with other hardware.

It's also a small chip, unlike everything else. Wasn't the ALF sound card based on it?

 

An FPGA could be programmed to Emulate the TI and the GI AY-3-xxxx family, so that Mockingboard and Echo + Support for Legacy Games and TI for Ported Games would make the Investment in the Board a better Deal..

If I were going with a big FPGA I'd consider including a POKEY as well. The SID is cool too but I've never seen a full FPGA implementation that sounds right.

I'm pretty sure all the sound stuff could fit on a DE1 and probably the 9938 since no CPU is needed.

Sadly I've only played with VHDL and Verilog and haven't really built anything that big on my own.

My Terrasic DE1 was destroyed in the same fire that ate the rest of my computers so I won't be doing any FPGA work any time soon.

I'm kinda busy working on an Arduino project anyway.

 

Link to comment
Share on other sites

"SG2MSX" - runs SG-1000 games on an MSX, with sound, 477 bytes (!), and the sound is just fine on the 2 games I tested. That's going from SN to AY.

 

The VOC I was referring to is http://www.whatisthe2gs.apple2.org.za/apple-video-overlay-card

 

(Random: For the record, I managed to get Marat's TMS9918 emulation to kindasorta work, but only GR1 mode works properly.)

Link to comment
Share on other sites

"SG2MSX" - runs SG-1000 games on an MSX, with sound, 477 bytes (!), and the sound is just fine on the 2 games I tested. That's going from SN to AY.

 

The VOC I was referring to is http://www.whatisthe2gs.apple2.org.za/apple-video-overlay-card

 

(Random: For the record, I managed to get Marat's TMS9918 emulation to kindasorta work, but only GR1 mode works properly.)

If you look at the SG2MSX video you'll also notice it is simple music and sound.

As I said, that's basically a table. I'm guessing SG2MSX is calculating it mathematically.

I'm guessing it's loosing a channel and some sound effects though.

 

That's a different card. The card I was talking about is overlaying TMS9920 video over Apple II video.

Link to comment
Share on other sites

That's a different card. The card I was talking about is overlaying TMS9920 video over Apple II video.

VOC is the IIgs chipset, not a TMS9918 =p

 

I know the TMS chipset, at least the 9929A variant, can handle genlocking but I didn't even take that into consideration as for my purposes that would be of limited utility.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...