Jump to content
ballyalley

Hi-Res Bally Arcade/Astrocade Correspondence

Recommended Posts

Here are the latest hi-res updates from Michael Matte:

 

----------------------------------------

 

From: Michael Matte
Sent: Saturday, May 16, 2020 7:47 PM
To: Adam Trionfo
Cc: Lance Squire
Subject: Hi-Res Fish Demo Update
 
I finished creating my 5 fish types to my satisfaction. They look great. There are 11 fish moving around the screen now.

 

I would like to add 1 small goldfish lingering along the sea bottom. This particular fish would display 2 new additional colors.

 

The hr:min:sec elapsed time counter will be added. I would like to detail the sea bottom including some starfish. Some time ago, I drew out on graph paper, a 24 H x 320 W pixel sea bottom, which I would like to detail in this demo.

 

I have 918 bytes left to work with. I hope that's enough memory to include everything. If not, the sea bottom will be more simplistic.

 

This 8KB hi-res demo project is winding down. Soon, I'll be able to see the finished demo.

 

Bye.
MCM

 

----------------------------------------

 

Nice job, Michael!

 

Adam

 

Share this post


Link to post
Share on other sites

Here are the latest hi-res updates from Michael Matte:

 

----------------------------------------

 

From: Michael Matte

Sent: Tuesday, June 2, 2020 5:16 PM

To: Adam Trionfo

Cc: Lance Squire

Subject: Hi-Res Multi-Pager Demo Update

 

The following has been added to my hi-res Fish Demo:

 

A hr/min/sec elapsed timer at the bottom of the screen.

 

An auto restart (jump) to 2000H when the Fish Demo reaches 2:00 minutes.

 

An optional nonstop Fish Demo mode, which is enabled when any key on the keypad is pressed.

 

And "up" arrow is displayed, just to the right of the elapsed timer, when the nonstop mode is enabled.

 

Additional Comments

 

The cycle time from start to finish, executing the multi-pager demo, moving a critter to erase static graphics in all 8 pages plus the 2:00 minute fish demo, is about 9 minutes.

 

The elapsed time utilizes custom hi-res 7 x 9 pixel digits. A custom display time write subroutine was created to write the time digits (and colons) using an expanded plop with NO shifter byte cleared at the end of each digit line written. This may be the reason why the timer counts up with NO graphics flickering. Nice.

 

All that's left to do now on this project is detail the sea bottom. One sea bottom fish will be added, possibly moving along the sea bottom dips and inclines, instead of just moving within a narrow long move zone, IF there are still ROM bytes available for that task.

 

I'm hoping to finish this 8KB project in 2 to 3 weeks.

 

Bye.

MCM

 

----------------------------------------

 

When Michael is done with his project, I think he is going to make a video of it using a DVD recorder.  He'll send the DVD to me and then I'll make the video available on YouTube and Archive.org.

 

Adam

Share this post


Link to post
Share on other sites

Here are the latest hi-res updates from Michael Matte:

 

----------------------------------------

 

From: Michael Matte

Sent: Wednesday, June 10, 2020 1:29 AM

To: Adam Trionfo

Cc: Lance Squire

Subject: Hi-Res Multi-Pager Test Demo

 

Hi Adam. As mentioned to you a few days ago, this last week I decided to make a big push to finish my MP Test Demo. Well, I finished the programming late Tuesday evening and it runs really great.

 

This demo has a lot of hi-res graphics. My initial desired demo description emailed to you long ago has been completely realized. I must say, that if MCM Design's hi-res "Pixel Stringer" doesn't entice some Astrocade enthusiasts to desire a modified for hi-res Astrocade, this MP Test Demo should likely stir up a hi-res interest and possibly some envy.

 

I have some related project cleanup tasks to work on it yet. Then I will email you my announcement detailing this 8KB all hi-res package.

 

In case you're wondering, my next project will be to record that hi-res DVD mentioned to you previously.

 

Thanks to Andy Guevara for creating The MLM, which played a major role in the related machine language development tests for MCM Design's hi-res DRAM and SRAM Astrocades.

 

Bye.

MCM

 

----------------------------------------

 

I can't wait to see Michael's videos.

 

Adam

Share this post


Link to post
Share on other sites

Today, June 25, 2020, Michael Matte sent me ten pictures of a demo that he has put together for his Hi-Res Astrocade.  I've selected two of them to share here.  I'll share the rest of them, along with documentation, later next week.

 

Here are brief descriptions of the pictures.  You'll see that both screens take advantage of the resolution of the hi-res unit, which is 4x higher than the consumer version of the Astrocade (160x102 pixels vs. 302x204 pixels).

 

1) Gunfight - This is Michael's modified version of Gunfight. Notice the added details of the fighters.

 

Here is screenshot of the standard version Gunfight in normal (consumer mode) as captured in MAME:

 

Astrocade_Gunfight_Screenshot_01.thumb.jpg.524661474af283fedb7741b265f6a3f8.jpg

 

Here is screenshot of Gunfight in hi-res (commercial mode) as captured in from Michael's television using his camera:

 

697653428__MultipagePage7.thumb.jpg.7b3fb245e6f3af2c3eebe7f3917efcb2.jpg

 

2) Gold Fish Demo - The picture REALLY shows the differences that an Astrocade upgraded to hi-res mode can show.  There are more fish and they look more like, you know, FISH!

 

Here is screenshot of the standard version Gold Fish Demo in normal (consumer mode) as captured in MAME:

 

Astrocade_Goldfish_Demo_Screenshot_01_Low-Res.thumb.jpg.e5c620f4d9488d74ae2196d06c8ccf8d.jpg

 

Here is screenshot of the heavily modified version of Gold Fish demo in hi-res (commercial mode) as captured in from Michael's television using his camera:

 

1162205577_FishDemo.thumb.JPG.5161d195d65a32dbd47a5e3a412bbf41.JPG

 

Nice one, Michael!  When I have more time, I'll share the full details of everything that Michael sent to me.

 

Adam

  • Thanks 1

Share this post


Link to post
Share on other sites

This is Michael Matte's newest hi-res Astrocade update, from June 2020 is called:

 

MCM Design Hi-Res Static Ram Announcement

 

I'm posting the text from his document in-full here, or you can download it as a RTF (Rich Text Format) document and with all the screenshots in one zipped archive from BallyAlley.com, here:

 

https://ballyalley.com/documentation/hi-res_packages/hi-res_packages.html#AstrocadeHi-ResMulti-PagerAnnouncement

 

Sometime this summer, Michael plans to send me a photocopy of Z80 source code for the demo (which is hand-written and hand-assembled).  He also plans to make a DVD for me with the demo running, which I'll rip into an MP4 and then upload to YouTube and Archive.org.

 

----------------------------------------

 

MCM Design is pleased to announce the completion of its 8KB hi-res Multi-Pager Test Demo package. In September 2019, MCM Design announced a design breakthrough with a new modified for hi-res Astrocade prototype. The prototype's hi-res screen RAM operates using only 4 static RAM (SRAM) chips, instead of the normal 32 DRAM chips. This breakthrough announcement is posted on the Bally Alley website.

 

https://ballyalley.com/documentation/hi-res_packages/hi-res_packages.html

 

Scroll down to "MCM Design Hi-Res Static Ram Announcement".

 

Each SRAM chip stores 32KB, providing a 4 chip total of 128KB of screen RAM. A variation of the Datamax UV-1R multi-pager was added to the new prototype allowing user selectable access of up to 8 pages of 16KB hi-res screen RAM, mapping 320 x 204 pixels per page.

 

The hi-res map is described in the Nutting Manual system description, pages 85 and 87. This manual is archived on the Bally Alley website.

 

The multi-pager includes a provision for an additional 8 pages (128KB) of screen RAM.

 

The 8KB Multi-Pager Test Demo package is detailed below.

 

Features:

 

The 8KB Test Demo resides as a cartridge ROM program at 2000-3FFFH.

All necessary hi-res routines reside within the test demo program package.

No user RAM above 8000H is required to run the package.

A standard low-res ROM (or custom 8KB ROM at 0000-1FFFH) is required only to jump to the test demo at 2000H.

 

A normal system reset executes in sequence the following:

 

1. Multi-pager 8 page flip test

2. A program which moves a critter around all 8 pages to erase each page's static graphics

3. Hi-res 7 color Fish Demo

 

This 3 part sequence can repeat nonstop.

 

An optional 4th program is executable by holding down any key in the right-most keypad column, while pressing the system reset button. This program allows a viewer to move a critter, using a hand controller at the #1 controller input, around within 3 connecting scenes (pages). The 3 scenes have simplified static graphics.

 

The hi-res Fish Demo can be run independently on a modified hi-res Astrocade with NO multi-pager by holding down any key in the left-most keypad column, while pressing the system reset button. The hi-res screen map must be compatible as described in the Nutting Manual mentioned above.

 

The vertical blanking line is dropped to the very bottom of the screen RAM area in all 8 pages so the viewer can observe a 98 byte program copied into page 7 plus observe the stack area being worked by the Z80 CPU in all 8 pages.

 

202 lines of the available 204 horizontal screen lines are utilized for screen graphics in all 8 pages.

 

Multi-Pager 8 Page Flip Test

 

The multi-pager's operation is tested to see if all 8 pages of graphics can be written to perfectly by visually watching for graphic errors while the pages are flipped automatically. All 8 pages are written with static graphics as indicated below.

 

Page                      Hi-Res Graphics Written

 

   0                           text introduction

                                with 17 lines of custom 7 x 9 pixel text characters

 

   1                           fill narrow vertical stripes on a split screen

 

   2                           end view of aquarium plus 15 magic write variations

 

   3                           fill narrow horizontal stripes on a split screen

 

   4                           10 color textured graphics pattern

 

   5                           fill narrow vertical plus horizontal stripes on a split screen

 

   6                           multi-pager title page

                                with custom enlarged text characters

 

   7                          custom hi-res screen shot variation of the game Gunfight

 

While the text intro is being displayed, the remaining 7 pages are written with static graphics as described above. The viewer is given nearly 60 seconds to read the 3 paragraph intro. There is an option to skip the intro by holding down any key on the keypad, which reduces the read delay time to about 5 seconds. Seven pages must be written first before the flip to page 1 will occur automatically.

 

There are 5 passes of page flipping. Each pass flips through the 8 pages faster. The 5th pass flips about 3 pages per second. An audio flip sound is output during each page flip. The multi-pager handles (selects) the page to flip by a simple output to the custom port 74H. After the 5 passes are completed, the next program in sequence is executed.

 

Move Critter Within All 8 Pages

 

A 98 byte program is copied from the ROM cartridge program package to page 7 beginning at address 7F20H. This program in page 7 is then executed to move a critter around the screen in all 8 pages, to erase all or most of the static graphics. The program in page 7 utilizes subroutines within the test demo package.

 

This test program was created to see if the multi-pager could function perfectly, loading a machine language program into a specific page, then execute that program moving a graphic pattern around in all 8 pages. Special attention was necessary to point the Z80 CPU to a specific page, for any screen RAM writes or reads, by using the multi-pager's custom output port 75H. This attention included pointing to a specific page to work any Z80 stack areas, variables, flags and data blocks within a page's scratchpad area.

 

The critter's initial appearance location in each page is randomized to appear anywhere along the screen's X axis or Y axis.

 

After the critter is finished with the last page 7, the hi-res Fish Demo is then executed.

 

Hi-Res Fish Demo

 

Twelve fish using 5 fish types swim around the screen. One fish likes to linger along the sea bottom.

 

The initial locations of 11 fish are randomized. The fish lingering along the sea bottom likes to appear near the center top of the sea bottom.

 

A  ML routine was created to flop left a fish pattern facing right within the same pattern frame by adjusting the pattern frame's X coordinate. In this demo, bit 7 within a magic register value is used as a flag for a custom request to adjust the X coordinate for a flop. Bit 6 is the flag that actually requests a magic flop. Bit 7 in the magic register output port is not utilized by the Astrocade's magic hardware to request any specific magic function, so this bit is available for a programmer to flag the execution of a custom ML routine related to a magic function.

 

Two screen interrupt routines are used to provide 7 different colors. One of the screen interrupt routines also updates a hr:min:sec elapsed time clock (up to 9:59:59).

 

The elapsed time utilizes custom hi-res 7 x 9 pixel digits. A custom display time write subroutine was created to write the time digits (and colons) using an expanded plop with NO shifter byte cleared at the end of each digit line written. This may be the reason why the timer counts up with NO graphics flickering.

 

When the elapsed time reaches 2:00 minutes, the fish demo will execute a restart (jump) to 2000H to start over again the execution of the multi-pager test demo. This restart cycle will repeat nonstop.

 

The fish demo will run nonstop if any key on the keypad is pressed before the 2:00 minute restart time expires. An up arrow will be displayed to the right of the elapsed timer to indicate the fish demo nonstop mode was enabled. The fish demo runs in page 0.

 

This fish demo utilizes an expanded version of Andy Guevara's clever programming technique to move multiple fish around a screen using only one vector block in the RAM scratchpad. MCM Design expanded the same technique to include multiple types of fish.

 

 

 

Cycle Time

 

The cycle time from start to finish, executing the multi-pager flip test, moving a critter to erase static graphics in all 8 pages plus the 2:00 minute fish demo, is about 9 minutes. This cycle time includes the text intro 60 second read delay.

 

 

 

Final Note

 

Out of curiosity, MCM Design ran the Multi-Pager Test Demo on its original modified hi-res Astrocade, which utilizes the 32 chip DRAM scheme and has no multi-pager.

 

You can view a portion of the Multi-Pager Test Demo on a modified hi-res Astrocade having NO multi-pager. You will briefly see the normal text intro followed quickly by 7 variations of the remaining 7 page writes, ending with the Gunfight screenshot.

 

If you press a key or wait out the 60 second read delay, you will see the Gunfight screenshot going thru multiple color changes and you will hear the flip page sound with each change. The changes along with the flip sound will also speed up. Then the program will crash, sometimes forcing a system reset to occur. You do however get a really long look at the hi-res Gunfight screenshot going through multiple color changes, which is a pretty cool graphics variation. This screenshot has the best graphics of the 8 pages displayed normally.

 

So, whether or not a hi-res Astrocade has a multi-pager, you still get to see some pretty cool hi-res graphics with this 8KB hi-res package.

 

 

 

End Of MCM Design Announcement

June 2020

 

----------------------------------------

 

Here are additional screenshots for the demo (I'm reposting the two that I posted previously so everything is in one place).

 

 

Hi-Res_Multi-Pager_Astrocade_Screenshot_00.thumb.jpg.9f50d21f523c765eaf6ceceb0c1a122a.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_01.thumb.jpg.a7361b27732aa63eac0cd2cffca6b72a.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_02.thumb.jpg.5b9b9f1c52d31c35b85e50d5dce8aca4.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_03.thumb.jpg.7ade5e9a841841c7bc517488209d483f.jpg

Hi-Res_Multi-Pager_Astrocade_Screenshot_04.thumb.jpg.d525419818d4e285c251024797db3635.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_05.thumb.jpg.ac9dda18e31a77b08b9a0de17b0614c3.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_06.thumb.jpg.bc06efeddab39f76dff761eafa3709c0.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_07.thumb.jpg.0846eb0ca69cff91741d1287d6b5a9e5.jpg886421181_Hi-Res_Multi-Pager_Astrocade_Screenshot_Critter_Move.thumb.jpg.b1cad15ca6b2345aa6b623e71a42bc70.jpgHi-Res_Multi-Pager_Astrocade_Screenshot_Fish_Demo.thumb.jpg.cb0cbfe14d26026c1c3eec5623f67775.jpg

----------------------------------------

 

I can't wait to see the source code for this demo and also to see it in actions.

 

This sounds like great fun, Michael!

 

Adam

 

  • Like 2

Share this post


Link to post
Share on other sites

I added the hand-written Z80 source code and documentation for MCM Design's "Hi-Res Multi-Page Test Demo - 8K Package" from December 2020.  This is a 171-page, 88MB pdf document:

 

https://ballyalley.com/documentation/hi-res_packages/hi-res_packages.html#AstrocadeHi-ResMulti-PageTestDemoHand-WrittenZ80SourceCode

 

This program is a standard Astrocade 8K cartridge that runs on a modified Low/High-Res Astrocade with eight 16KB pages of SRAM (Static RAM) for a total of 128KB Screen RAM at a 320x204 pixel resolution each page. All necessary hi-res routines reside within the test demo program package. No user RAM above 8000H is required to run the package. A standard low-res ROM (or custom 8KB ROM at 0000-1FFFH) is required only to jump to the test demo at 2000H. This 8KB package runs in hi-res only.

 

This 8KB package is self-containing. All necessary Hi-Res routines are included within the package. Lo-Res or custom ROM at 0000-1FFFh is required only to jump to 2000h. No user RAM 8000 -FFFFh is required. Hi-Res Screen RAM is addressed 4000-7FFFh. Magic RAM 0000-3FFFh. Refer to Nutting Manual for System Description

 

Michael also sent me the 8K file, which runs as a cartridge, as a "tape" (WAV file).  I think I've successfully converted it to a plain 8K binary file, but I have no way to confirm it since the Astrocade emulator doesn't support hi-res mode in the same scheme that Michael uses on his system.  I'll add that 8K ROM to the BallyAlley.com website when I get it confirmed.

 

If you're into Z80 machine language programming, or have an interest in source-code that is got an artistic flair, then take a look at Michael's project; he's been working on it for the last couple of years.

 

Adam

Share this post


Link to post
Share on other sites

Michael has sent me some additional information about a project that he is working on to help troubleshoot ailing Astrocades.

 

Adam

 

----------

 

From: Michael Matte

Sent: Saturday, October 3, 2020 3:05 AM

To: Adam Trionfo

Subject: New Troubleshooting Motherboard Program?

 

New Idea To Test If Z80 Is Operating

MCM Design

 

Z80 Check, which is part of MCM Design's BalcheckHR 32KB multi-cart package, is a ML program that utilizes an upgraded Balcheck dual display to visibly show that the Z80 is operating and executing ML instructions. This program runs at address 0000H, the same address as the motherboard ROM chip. Z80 Check is an optional program which is helpful to diagnose an Astrocade motherboard which powers on with a black screen.

 

The BalcheckHR board can be set up to run Z80 Check, which then attempts to disable the ROM chip by bringing the motherboard SYSEN line to a logic 0. The SYSEN line is input to ROM decoding chips to disable the ROM chip.

 

The new idea is to provide an optional Z80 testing program called Z80 Halt. This is a very short ML program. It uses only 3 Z80 instructions. This program, like Z80 Check, also resides at 0000H. Here's the program.

 

NOP             no operation

DI                 set up Z80 for a halt

HALT           halt the Z80

 

What this program does is halt the Z80. That's all it does. When the Z80 is halted, it will just execute NOPs (no operations), nonstop.

 

When a working Z80 is initially powered on with +5V, it's HALT (active low) line, pin 18, will be at a logic 1. When the Z80 executes a HALT instruction, pin 18 will become active low (a logic 0).

 

So, by placing a voltmeter at pin 18, you can visually and easily determine if this 3 byte Z80 Halt program executed. The voltmeter will read near 0 volts at the Z80 pin 18, if the program executed. This is assuming the troubleshooter, prior to executing Z80 Halt, has confirmed that the Z80 is working well enough to power on with

pin 18 at logic 1.

 

My Z80 manual does not indicate if the Z80 will continue attempting to fetch instructions from memory when the Z80 is halted. I plan to hook up my LA and run a test to see if the memory address lines A0 thru A2 continue to increment while the MREQ and RD lines are active low. If these lines increment when the Z80 is halted, then the Z80 is trying to fetch instruction bytes from memory. In this case, when the Z80 is halted, the Z80 will ignore any bytes fetched and will just keep executing NOPs.

 

I plan to test this new idea in the next few days. Note that when powering on the motherboard and executing the Z80 Halt program, the TV screen will power on black because no screen initiating instructions are executed by the Z80. Depending on what I see using my LA when the Z80 is halted, the LA used along with the Z80 Halt program may provide additional info to help determine why a failing Z80 is having difficulty executing instructions.

 

I will also create another optional Z80 test program called Z80 ScrnHalt, residing at 0000H, which will set up the TV screen to simply display colors, then halt the Z80. This program could be executed after Z80 Halt is executed just to see if a TV display with colors will appear. The Z80 ScrnHalt program's intent would be similar to the original SetScreen program but with more simplistic graphics keeping the program byte count down to a minimum in case the Z80 is having some difficulty executing instructions.

 

The intent of the Z80 Halt program is to see if the Z80 can execute just 3 instructions. With the motherboard failing having issues relating to the operation of the Z80 or ROM chip, this new Z80 Halt along with Z80 Check might help isolate the problem area.

 

Bye.

MCM

 

----------

 

From: Michael Matte

Sent: Mon 12/7/2020 10:03 PM

To: Adam Trionfo

Subject: Re: New Troubleshooting Motherboard Program?

 

Since there is only room on the 32KB BalcheckHR package EEPROM for one program replacement, I decided to combine the Z80 Halt and Z80 ScrnHalt programs described below into one program still called Z80 Halt. This revised Z80 Halt program is similar to the original SetScreen program but will also attempt to output the 2 letters HL to the BalcheckHR board dual display immediately at power on (or reset). This display output will be another visual indication that the Z80 is trying to execute instructions. I mailed Allen the revised 32KB EEPROM for his BalcheckHR board. The revised EEPROM now has the following four 8KB diagnostic programs which can be multicarted on the board:

 

BalcheckHR

Remote ROM

Z80 Check

Z80 Halt

 

You may post this update if you want to.

 

Bye.

MCM

 

Share this post


Link to post
Share on other sites
On 12/8/2020 at 8:48 PM, ballyalley said:

I added the hand-written Z80 source code and documentation for MCM Design's "Hi-Res Multi-Page Test Demo - 8K Package" from December 2020.  This is a 171-page, 88MB pdf document:

 

Here are four files for Michael Matte's "Hi-Res Multi-Page Test Demo."  I uploaded his hand-written source code to BallyAlley on December 8, 2020"

 

https://ballyalley.com/documentation/hi-res_packages/hi-res_packages.html#AstrocadeHi-ResMulti-PageTestDemoHand-WrittenZ80SourceCode

 

For a reminder of what this demo looks like, there are pictures of it running in this post on the hi-res demo thread on AtariAge:

 

https://atariage.com/forums/topic/254592-hi-res-bally-arcadeastrocade-correspondence/?do=findComment&comment=4581760

 

Attached are four more files to go along with Michael's hand-written source code:

 

1) Hi-Res Multipager Demo (12 04 2020)(Michael Matte)(Remastered).zip - Michael sent me the 8KB cartridge for use on his hi-res Astrocade as a "tape" (a 2000-baud WAV file) .  I remastered it using the Windows version of BallyBin.  You can load this program into your Astrocade from this "tape."  Of course, it won't run properly unless you have upgraded your Astrocade to run in hi-res mode.

 

Hi-Res Multipager Demo (12 04 2020)(Michael Matte)(Remastered).zip

 

2) Hi-Res Multipager Demo (12 04 2020)(Michael Matte)(Converted with wBallyBin).bin - I converted the WAV file that Michael sent to me to an 8K binary file.  This is a standard Astrocade cartridge.  I burned it to an 8K 2764A EPROM last week and sent it to Michael.  After he got it over this past weekend, he confirmed that it matches byte-for-byte with his own version of the program on EEPROM.

 

Hi-Res Multipager Demo (12 04 2020)(Michael Matte)(Converted with wBallyBin).bin

 

3) HxD (Screenshot)(Hi-Res Multipager Demo Binary Image).png - This is a screenshot from my hex editor (HxD) with Michael's Hi-Res demo loaded on-screen.  In this screenshot, you can see the Hi-Res Demo code from $2000-224F.  I've included this screenshot as an example of what's "inside" the binary image of the cartridge, as I understand that there are plenty of folks reading this post who might not understand what I'm referring to when I say "binary file."

 

568368543_HxD(Screenshot)(Hi-ResMultipagerDemoBinaryImage).thumb.png.6f98e37cca70fd9e3d5e0680af7695d0.png

 

4) wBallyBin (Screenshot)(Hi-Res Multipager Demo Conversion).png - This is a screenshot of the Hi-Res tape-to-binary conversion process.  Technically, the final output file wasn't binary, it was a ASCII file.  I had to finesse the data to put it into pure binary format.  I was glad that my hand-massaged data didn't have any errors and that it matches with Michael's EEPROM of his program as it runs on his hi-res Astrocade.

 

133954273_wBallyBin(Screenshot)(Hi-ResMultipagerDemoConversion).thumb.png.1f69bb40a7a80e0a89d695ce00d7738c.png

 

I need to add all of these files to BallyAlley.com, but I'm unsure what the best way to do that is yet, so I'm posting them here first.

 

I think I'm going to make a video that will show some of Michael's work.  I can't show his hi-res demo running, but I can show some of his work that went into creating it.  Michael still plans to record his demo in-action onto a video DVD which I'll convert to mp4 and then upload to YouTube.

 

Adam

  • Like 1

Share this post


Link to post
Share on other sites

I asked Michael what would happen if this Hi-Res Multi-Pager demo was run on a high-res Astrocade emulator, which doesn't exist in any form.  Plus, Michael's hi-res system has page-flipping that wouldn't be supported.  Here is Michael's response:

 

----------------------------------------

 

From: Michael Matte
Sent: Sunday, January 3, 2021 1:30 PM
Subject: Multi-Pager Test Demo Update
 
If there was a standard 16KB hi-res Bally screen map emulator available to run down loaded hi-res programs, could this Multi-Pager Test Demo run on that emulator? In part, yes. You would not see the eight 16KB pages being flipped as intended, but you would see a color variation of each of the 8 pages quickly written one time on the screen ending with the last hi-res Gunfight screen shot page. Then you would here the flip sound gradually speed up while being treated to a different color variation of the Gunfight page with each flip sound. This particular variation is pretty cool because you get a real long look at this hi-res Gunfight screen shot varying in color. Once the flip sound ends, the demo will NOT progress to the Critter Move/ Erase All 8 Pages program, which requires multi-pager hardware to execute. Instead, the demo will crash or in some rare instances reset back to the beginning of the demo.

 

You can jump to the hi-res Fish Demo by holding down any key in the left most keypad column while pressing the reset button. The Fish Demo will run as intended on a standard 16KB hi-res screen map. Pressing any key before the elapsed time counter reaches 2 minutes will place the Fish Demo in the nonstop run mode. Not pressing a key before 2 minutes will cause the program to reset back to the Multi-Pager Demo variation described above.

 

You will not be able to execute the Critter Move Using Joystick program by holding down any key in the right most column while pressing the reset button. This program also requires hi-res multi-pager hardware so you can test the hardware to see if you can move a critter around in 3 connecting scenes (pages) of simplified graphics using a joystick.

 

Bye.
MCM

Share this post


Link to post
Share on other sites

Michael sent me and Lance an off-the-cuff idea that he had for a hi-res Astrocade.  With his permission, I'm including his original email and a couple of replies that we had together.

 

-----------------------------------------

 

From: Michael Matte

Sent: Saturday, January 9, 2021 6:50 PM

Subject: Build A Hi-Res Astrocade

 

Build A Hi-Res Astrocade

A MCM Design Note

 

A great idea for my future Build A Hi-Res Astrocade procedure popped into my head today. I am also going to recommend and include a procedure for building a simple low-res only SRAM board, before building the low/hi-res SRAM board. The low-res only board would be useful as a backup board if an operating issue occurred during the low/hi-res SRAM board building and testing process. One would then be able to determine if the issue was on the motherboard or the low/hi-res SRAM board, by plugging in the working low-res only board. One could bread board or wire wrap this low-res only board. I know this is extra work and cost, but as I said, I will include it as a recommendation.

 

The low-res only SRAM board can utilize standard or LS TTL chips. The required chips for this board are listed below.

U14, U21 and U22 chips

74373 chip or two 7475 chips

7432 chip

static RAM chip (4KB x 8 bits or greater)

 

This entire procedure will utilize a step-by-step building block approach emphasizing diagrams, photos and extensive use of an ohmmeter to check wiring connections. The diagrams would have to be scanned for posting.

 

The options for running short or long machine language, hi-res graphic test programs has not been worked out yet.

 

Believe this or not, I accidentally found out that as long as the hi-res video display scan circuitry is operating perfectly, a simple hi-res graphic color pattern with very thin (or wide) vertical stripes can be displayed WITHOUT any hi-res screen RAM. Don't believe me? I've seen this. All you have to do is leave the 32 SRAM data lines on the four SRAM chip sockets floating or grounded with jumper wiring to display vertical stripes within the TV screen RAM area. You can also determine what is displayed by floating/grounding the appropriate SRAM data socket pins. A short ML program must also be executed to instruct the data chip to operate in the hi-res mode and set up the normal 4 screen parameters.

 

To sweeten the challenge of building a hi-res Astrocade after this procedure is posted I am seriously considering making myself available as a consultant or possibly a troubleshooter to help resolve a hi-res Astrocade building issue (within reason) at no charge. I'd like to see some other users out there with low/hi-res Astrocades.

 

When I built my original DRAM Astrocade a long time ago, I had no backup boards, a frequency counter or a logic analyzer. All I had was some experience in digital logic, a VOM, patience and determination.

 

Bye.

MCM

 

-----------------------------------------

 

From: "Adam Trionfo"

To: Michael Matte

Sent: Sunday January 10 2021 1:13:13PM

Subject: Re: Build A Hi-Res Astrocade

 

Michael,

 

I have several in-depth comments that I want to make about this email, but I'll just make a few for now:

 

1) First, there's no need to give your time away.  If you want to help people build a hi-res board, then those who are interested will surely pay a reasonable fee.  Plus, I've learned over the years that you can tell when someone is serious about a project.  The old saying, "Put your money where your mouth is" rings true in this case.

 

2) Your comment about hi-res mode being usable without hi-res mode rings true to me, but for a different reason.  I think that the "256 Color display" program in the AstroBASIC manual is actually displaying in a not-quite-real "hi-res" mode.  Take a look at my video from July 2019:

 

https://www.youtube.com/watch?v=2cCfktGHOKc

     

Also, the programmer of the "Astrocademo Demo" believes that a simulated hi-res mode could be achieved via cycle-counting.  This would mean programming the Astrocade like the Atari 2600, but this does sound plausible to me.  It's too bad that the MAME emulator doesn't support cycle-accurate programming.

 

One last thing, this email "Build A Hi-Res Astrocade" isn't meant to be shared on AtariAge or Astrocade forum, right?

 

Adam

 

-----------------------------------------

 

From: Michael Matte

Sent: Sunday, January 10, 2021 5:22 PM

To: Adam Trionfo

Subject: Re: Build A Hi-Res Astrocade

 

As you probably observed, I have a tendency to "jump the gun" speaking about things that are far away from the present. I really should stop doing this because it is time consuming for me.

 

Your point 1) is a good point. That's why my comment included the words "considering" and "(within reason)". My project time is valuable to me. One of Allen's customers was inquiring about a cartridge with the original SetScreen programmed on it. When I quoted a price to Allen my fee to create such a homemade project, I didn't receive a response to my quote. I'm not overly concerned about my help comment. It will be a long time before I even get around to writing this build procedure and finishing hi-res software projects like my Hi-Res MLM and hi-res ROM projects. My hi-res Astrocade idea is for someone with the appropriate building experience, can program in AL or ML and likes the idea of having a hi-res programming option, so the demand if any, is going to be very low.

 

You may post my Build A Hi-Res Astrocade email if you want.

 

Bye.

MCM

 

-----------------------------------------

 

 

Michael's always tinkering with his Astrocade.  Has anyone else had any thoughts on upgrading their Bally Arcade game consoles to support hi-res mode?

 

Adam

 

Share this post


Link to post
Share on other sites
On 2/16/2020 at 12:09 PM, ballyalley said:

I have added five hand-written hi-res Astrocade documents by Michael Matte to a temporary area on ballyalley.com. 

 

The updated (and now, complete) "High-Res Astrocade Machine Language Subroutines" by MCM Design (Michael Matte), from February/March 2020 and January 2021 are available as a PDF document, here:

 

https://ballyalley.com/documentation/hi-res_packages/hi-res_packages.html#High-ResAstrocadeMLSubroutines

 

The following high-resolution subroutines for the Bally Arcade/Astrocade were created by MCM Design and sent to Adam Trionfo as photocopies and text documents via email in February and March 2020. Adam compiled this collection of subroutines from ten documents in January 2021. It contains Z80 machine language subroutines for use with a modified-for-hi-res Bally Arcade/Astrocade home videogame console.

 

The contents of this documents are:

 

  1.     Low and High-Res Comparisons - An Overview for Vector (Motion), Coordinate Limits and Graphic Pattern Data Blocks. Briefly describes the purpose of each Hi-Res ML subroutine.

  2.     Convert High-Res Coordinates to a Magic Address

  3.     Standard Hi-Res Stacked Graphic Pattern Write Subroutines

  4.     Custom High-Res Move (Vector) Subroutine

  5.     Custom Hi-Res Multi-Pager Graphic Pattern Write Subroutine

 

Each subroutine is extensively commented on, including a note "This subroutine is similar to low-res sub #__" plus you might see a Nutting Manual reference page from where the hi-res sub was created. These ML sub docs are strictly for someone who has access to a modified hi-res Astrocade, is experienced in ML/AL programming and is looking for a custom hi-speed subroutine application.

 

The doc's intent is to help a hi-res programmer get started with custom programming hi-res graphic patterns and moving patterns around the screen without the need to create this particular hi-res application from scratch.

 

These ML subroutines, except the custom subroutine example for MCM Design's hi-res multi-pager, function similar to their low-res equivalent. However, these hi-res subs must be called directly. There is no processing UPI (User Programmer Interface). Note, MCM Design's upcoming Hi-Res ROM will include sub's similar to these subs and will utilize a UPI. The ROM UPI and sub's will be well documented.

 

Perhaps someday in the future, someone with machine/assembly language experience may acquire or build a modified hi-res Astrocade and might find this info useful.

 

Enjoy!

 

Adam

Share this post


Link to post
Share on other sites

Over the last few days, Michael Matte has sent me and Lance information about his newest idea for his personal hi-res Astrocade.  This isn't a secret: Michael said that I can post about it online.  Michael hopes to create a new add-under for his modified-for-hi-res Astrocade to add some of the hardware functions that are built into the arcade game "Wizard of Wor."  As is common with Michael, he has quite a bit of the details already worked out in his mind already.

 

Here are Michael's slightly-edited emails to Lance and me.  There are many ideas to absorb here; don't feel overwhelmed by it all.  If you don't understand exactly what Michael is talking about, then just let the general idea wash over you and smile that exciting new hardware is still created for the obscure-- for many people (not us!)-- Astrocade!

 

I'll continue to post about Michael's project as it moves along, with a few additional  posts that should follow later today.

 

Adam

 

-----------------------------------------

 

Subject: WOW Documentation And More

From: Michael Matte

Date: Mon 2/15/2021 3:33 PM

 

Hi Adam. I just wanted to let you know I have at this time a Wizard of Wor folder containing 21 items.  [My WOW folder is in my Windows 7 desktop.]  This folder is slowly growing over time.

 

The WOW folder at this time contains:

17 hardware pics

2 documentation pics

zipped speech chip doc pics

WOW ROM coding

 

I have a particular interest in the WOW pattern transfer board with a pile of documentation related to this board including the applicable CMOS technology utilized. Why? I'll give you a hint. This interest is related to my 3rd and FINAL modified low/hi-res Astrocade version, which I will label as a "Modified Low/Hi-Res Static Screen RAM (SRAM) Astrocade, version 2". This version has been roaming around inside my head the last several weeks. I'm thinking in terms of a 3 board add-under. I'm very excited about this custom, personalized version and coincidentally the word "wow" really describes my excitement. My plans over time are to fully document the building of this version with a build procedure, photos and videos. I will also work a little at a time on my various and many other side projects. I have NOT abandoned my "An In-Depth Look At  ..." series.

 

I am hoping this week to at least start a recording of a MCM Design intro video - A Tour Of  MCM Design Projects.

 

Bye.

MCM

 

-----------------------------------------

 

Lance wondered, "I'm guessing this would give the Bally/Astrocade the 'blitter' features missing from the video chip?  More like the Amiga Blitter than just the pixel transforms built into the chip?

 

Michael sent us this more technical response.

 

-----------------------------------------

 

Subject: RE: WOW Documentation And More

From: Michael Matte

Date: Tue 2/16/2021 7:28 PM

 

The following is what a portion of my examination of the WOW transfer board has revealed to me. I spent this time examining the board to see if this board was feasible as an optional add-on for a modified hi-res Astrocade. My conclusion is that yes this board is very feasible as an optional add-on. By the way, this board would not be usable in the low-res mode unless it could be modified to optionally add 40 bytes to a pattern screen line instead of the hi-res 80 bytes per line. Maybe all that would be needed is to add a manual mini toggle to switch from the 80 adder to 40. That would be something to look into.

 

The pattern transfer board provides 6 pattern bit control (manipulation) modes via its output port 7AH, which are listed below.

 

Direction (shift left or right 1 bit?)

Expand (double/triple size of pattern?)

Constant (0 = use same size, 1 = expand pattern size?)

Flush (set pattern pixels to a fixed color?)

Flip (turn, rotate 45°? Rotate CW, CCW?)

Flop (similar to magic flop?)

 

Looking at this functions list, it seems that this board really doesn't offer much more than the Astrocade motherboard custom chip magic functions. What the board really offers is processing speed.  The WOW Parts And Operating Manual provides a board theory of operation, but no details on the above 6 control (manipulation) modes. I will very likely be able to determine how each mode functions by examining the board's schematic and by breadboard experimentation.

 

Here is a link to the Wizard of Wor manual:

 

https://arcarc.xmission.com/PDF_Arcade_Bally_Midway/Wizard_of_Wor_Parts_and_Operating_Manual_(Jun_1981).pdf

 

The board operates similar to a ML graphic write subroutine. Five graphic parameters must be output to the boards output ports 78 thru 7EH. The 8 bit pattern height parameter must be the LAST output (port 7EH) to activate the transfer board.

 

The board tri-states the Z80 off, writes the pattern to RAM, then returns control to the Z80.

 

The board writes a pattern faster than the Z80 because no Z80 M1 (instruction fetch/RAM row address refresh) cycle is utilized. There are no Z80 M1 cycle delays or Z80 instructions executed when the transfer board is activated. I think the minimum M1 cycle lasts 3 system clock cycles. One system clock cycle is 560ns long. So, the M1 cycle is a substantial delay before any Z80 instruction is even executed.

 

The board utilizes the Astrocade motherboard system clock and generates its own active low MREQ, RD and WR signal lines writing the pattern via onboard chips (digital electronics) which decode, count up/down, multiplex, tri-state, etc. acting like a ML graphics write subroutine.

 

It looks like the intent of the board is to write directly to screen RAM, but may be able to write to Magic RAM with possible limitations. The user in the Magic RAM case would also have to output the appropriate magic function to the custom data chip magic register port 0CH.

A system x,y coordinate to non-magic (or magic) address subroutine would also normally be executed by the user prior to outputting the 5 transfer board parameters.

 

This board has 43 chips on it, but less than a dozen of them are paired off and actually used for pattern byte manipulation/processing.

 

I plan to break down the schematic into separate parts so it's easier to determine how the board functions to process and write a graphic pattern to screen RAM. This building block approach can be used during the breadboard and testing phase of the project. I will utilize a 555 timer to generate a simple, slow 1 PPS (or higher) visible clock tester along with LEDs, used temporarily to run experimental tests.

 

I have a PC photo of the board's top, but only a paper print of its bottom. It looks like all the chips are powered by +5V.

 

Did the WOW transfer board utilize Motorola MC14xxx series chips? Yes, it did.

 

Surprisingly, Mouser Electronics is well-stocked with CD4xxx, 74HC or 74HCT substitutions. These chips typically cost around $0.60 a chip (less if you purchase 10 packs). For example, Mouser is selling the specialty chip CD4516BE priced at $0.56 (10 at $0.445) having over 1600 in stock. Compare that price with eBay.

 

I think you now have a general idea of how the WOW pattern transfer board functions.

 

Bye.

MCM

 

-----------------------------------------

 

Michael is looking for a bit of help with two questions concerning Wizard of Wor that relate to his interpretation of the pattern board project.  I'll post these questions in a separate post.  He has also written an official release announcement called "MCM Design's 3rd And Final Hi-Res Astrocade Prototype," which I'll post soon.

 

I wish Michael the best of luck with his newest project to modify his Astrocade.  Go, Michael, you crazy hi-res idealist, go!

 

Adam

Share this post


Link to post
Share on other sites

Michael has a new Hi-Res project in the works for his private Astrocade.  He sent me this announcement about two weeks ago:

 

-----------------------------------------

 

MCM Design Announcement

By Michael Matte

February 17, 2021

 

ANNOUNCEMENT - MCM Design's 3rd And Final Hi-Res Astrocade Prototype

Feb 2021

 

 

Below is MCM Design's vision for its final low/hi-res static screen RAM (SRAM) Astrocade, a wire wrapped prototype with a 3 board add-under.

 

MODIFIED ASTROCADE MOTHERBOARD

 

The motherboard will be modified to run the low/hi-res static screen RAM add-under Board 1. Connection to Board 1 will be via a 28 pin dual in line (DIL) ribbon cable (RC) socket mounted at the bottom front of the motherboard. No 50 pin motherboard expansion lines will be required to run the screen RAM in Board 1.

 

Design Note:

The two custom data chip's Serial 0 (pin 11) and Serial 1 (pin 12) lines must be disconnected from ground. The hi-res video scan serial lines will be wired to pins 11 and 12.

 

ADD-UNDER BOARD 1

STATIC SCREEN RAM (SRAM) BOARD

 

Four 32KB static RAM chips utilized, providing

4KB low-res mode, 160 x 102 pixel resolution or

16KB hi-res mode, 320 x 204 pixel resolution

either mode software selectable

possible med-res mode 160 x 204 pixel resolution?

 

Optional hi-res 16KB  8 page multi-pager, total 128KB of screen RAM

software selectable

 

Single +5v power operation

 

28 pin DIL RC socket mounted in front of Board 1 to connect to the motherboard

28 pin DIL RC socket mounted in back of Board 1 to connect to Board 2

 

ADD-UNDER BOARD 2

USER ROM/RAM BOARD

 

A. 32KB user hi-res ROM

B. 32KB user RAM 6000-7FFFH

C. 32KB user RAM 8000-FFFFH

 

A. 32KB user hi-res ROM, dual-carted with two 16KB banks

ROM will be 32KB EEPROM with internal data protection enabled

 

Bank 0 addressed 0000-3FFFH

16KB hi-res demos/games

 

Bank 1 addressed 0000-3FFFH

0000-1FFFH

low-res to hi-res conversion, UPI + subroutines

power up routine

menu at power on?

demo(s)?

2000-3FFFH

sentinel at 2000H to indicate this ROM is active

extended graphic subroutines with EUPI

software support for Board 1 multi-pager?

software support for Board 3 pattern transfer board?

 

Manual switches mounted in front of Board 2

1. DIP (mini toggle?) to disable low-res ROM, enable hi-res ROM

low-res ROM only enabled option allows execution of already existing MCM Design 2000-3FFFH programming along with hi-res programs that include all the necessary (self-contained) hi-res routines

2. mini toggle to disable (turn off) Bank 1 ROM 2000 – 3FFFH

toggle allows use of 8KB hi-res cartridge in cassette connector with access to only hi-res UPI plus subroutines at 0000-1FFFH

3. mini toggle to select Bank 0 or Bank 1

 

B. 32KB user RAM, multi-carted with four 8KB banks

addressed 6000-7FFFH or 2000-3FFFH via mini toggle

28 pin ZIF socket

compatible with EPROM/EEPROM using jumper reroute socket or optional pre-wired module

switches mounted in front of Board 2 

1. 2000/6000H address mini toggle select switch

2. write protect mini toggle

3. two DIP multi-cart

 

C. 32KB user RAM addressed 8000-FFFFH

28 pin ZIF socket

compatible with EPROM/EEPROM using jumper reroute socket or optional pre-wired module

write protect mini toggle mounted in front of Board 2

 

Single +5v power operation

 

50 pin header socket to connect Board 2 to motherboard via RC

50 pin header socket to connect Board 2 to Board 3 via RC

28 pin DIL socket to connect to Board 1 multi-pager via RC

 

ADD-UNDER  BOARD 3

PATTERN TRANSFER BOARD

 

Similar to WOW pattern transfer board

 

single +5v power operation

 

50 pin header socket to connect to Board 2 via RC

50 pin header expand socket to connect to remote BalcheckHR board via RC

 

AUDIO/VIDEO BOARD

 

A composite video driver and audio driver board with a quick connect replacing the Aztec RF modulator

two RCA phono jacks mounted in back of the A/V board allowing A/V cables to run out the back of the Astrocade console

a ground wire to connect to the motherboard ground

 

ADD-UNDER CONSOLE WITH 3 BOARD RACK SET UP

 

MCM Design managed to purchase on eBay a 3 PC board rack styled support system for only $15 plus shipping. This setup will hold 3 boards in the vertical or horizontal position.

 

The rack system will be mounted within an open framed stained wood console. Additional supports will be used to position the rack system precisely. MCM Design has access to a table saw, router and miter saw to create the console and supports. The Astrocade will be mounted on top of the wooden console having the same width and length as the Astrocade console.

 

An 8.5 x 17" Vector board prepunched for wire wrap socket installation will be cut in half to provide precise 8.5" wide WW boards for the 3 board rack system. All 3 add-under boards will be 8.5"square?

 

The rack set up will have to provide a means to allow the hook up of a frequency counter, logic probe, VOM or logic analyzer so the 3 boards can be troubleshooted with their +5v power on.

 

A +5v power supply and a fused custom 120vac jack for the Astrocade motherboard power transformer will also be mounted inside the wooden console. A main fused 120vac power on/off switch will be mounted on a side of the wooden console so that the motherboard and all 3 add-under boards can power on simultaneously. The motherboard rear mounted power on/off slide switch will be left in the "on" position for the simultaneous power on.

 

ADDITIONAL SOFTWARE SUPPORT

 

Modified Astrobasic cartridge with 32KB EEPROM multi-carted for four 8KB programs listed below

1. Astrobasic

2. Upgraded Bit Fiddler's MLM with 2000 baud audio interface subroutines including "An In-Depth Look At ..." series programs and demos?

3. Hi-res MLM with 2000 baud audio interface subroutines including hi-res demos

4. Hi-res Multi-Pager Test Demo

Note: 2 and 3 audio interface subs will be useable from 6000-FFFFH low-res, 8000-FFFFH hi-res

 

Hi-Res Incredible wizard, Hi-Res Seawolf  plus ? in a 32KB package addressed 8000-FFFFH

 

Upgraded BalcheckHR board with 32KB diagnostic package

 

End OF MCM Design Document

Feb 2021

-----------------------------------------

 

Michael has finished all of his previous hi-res projects and this one looks to be his most ambitious one yet!  Good luck, Michael!

 

Adam

  • Like 1

Share this post


Link to post
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.

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...