Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2016/05/24 16:20]
ex_writer [Resources]
start [2019/09/11 02:18] (current)
ex_writer [The Better Bally Book]
Line 3: Line 3:
 Welcome! ​ Welcome! ​
  
-The Better Bally Book (BBB) is a wiki dedicated to organizing, annotating, and improving ​the //​[[https://​archive.org/​details/​SoftwareAndHardwareForTheBallyArcadeATechnicalDescriptionDaveNuttingAssociates|Software and Hardware for the Bally Arcade]]//, a technical manual for the [[https://​en.wikipedia.org/​wiki/​Bally_Astrocade|Bally Home Computer/​Arcade/​Astrocade]] originally published in 1978 by Dave Nutting Associates. ​+The Better Bally Book (BBB) is a wiki dedicated to organizing, annotating, and improving //​[[https://​archive.org/​details/​SoftwareAndHardwareForTheBallyArcadeATechnicalDescriptionDaveNuttingAssociates|Software and Hardware for the Bally Arcade]]//, a technical manual for the [[https://​en.wikipedia.org/​wiki/​Bally_Astrocade|Bally Home Computer/​Arcade/​Astrocade]] originally published in 1978 by Dave Nutting Associates. ​
  
 This so-called '​Nutting Manual'​ is an invaluable source for programmers interested in developing new software for the Bally Arcade, but it is also a difficult resource to manage due to its inconsistent organization,​ lack of clear examples, and numerous omissions. ​ This so-called '​Nutting Manual'​ is an invaluable source for programmers interested in developing new software for the Bally Arcade, but it is also a difficult resource to manage due to its inconsistent organization,​ lack of clear examples, and numerous omissions. ​
Line 9: Line 9:
 The purpose of the BBB is to improve the source text by reorganizing its sections, providing code examples to illustrate system routines, editing its content for clarity and spelling, eliminating irrelevant information (e.g., the high-resolution mode) and code errors, adding pictures, elaborating on difficult technical subjects, and updating its language to modern computing conventions (e.g., replacing '​cassettes'​ with '​cartridges'​). ​ The purpose of the BBB is to improve the source text by reorganizing its sections, providing code examples to illustrate system routines, editing its content for clarity and spelling, eliminating irrelevant information (e.g., the high-resolution mode) and code errors, adding pictures, elaborating on difficult technical subjects, and updating its language to modern computing conventions (e.g., replacing '​cassettes'​ with '​cartridges'​). ​
  
-In other words, the Nutting Manual serves as the foundation upon which to build a more usable technical manual, one that benefits both from its web platform and from nearly forty years of Bally Arcade programming knowledge. The hope is that these improvements will encourage more developers, researchers,​ and hobbyists to explore and create Astrocade software.+In other words, the Nutting Manual serves as the foundation upon which to build a more usable technical manual, one that benefits both from its web platform and from nearly forty years of Bally Arcade programming knowledge. The hope is that these improvements will encourage more developers, researchers,​ and hobbyists to explore, understand, ​and create Astrocade software.
  
-===== Table of Contents =====+{{:​bally_ad.png}}
  
-[to be written] 
  
  
Line 24: Line 23:
 '​NM'​ stands for Nutting Manual and '​xx–xy'​ lists the relevant page number range. Keep in mind that sections are edited for organization,​ spelling, content, errata, etc., so the BBB may not match the Nutting Manual text. '​NM'​ stands for Nutting Manual and '​xx–xy'​ lists the relevant page number range. Keep in mind that sections are edited for organization,​ spelling, content, errata, etc., so the BBB may not match the Nutting Manual text.
  
-References to outside resources will either ​be listed inline and/or linked directly.+References to outside resources will be listed inline, at the end of the page, and/or linked directly, depending on the context and usage.
  
 ===== Numeric Representation ===== ===== Numeric Representation =====
Line 55: Line 54:
 ^ Bally Arcade ^^ ^ Bally Arcade ^^
 | [[http://​www.ballyalley.com|Bally Alley]] | Maintained by Adam Trionfo for over a decade, Bally Alley is the definitive archive for Bally Arcade history, documentation,​ photos, programs, advertisements,​ and more. The BBB wouldn'​t be possible without Adam's site. | | [[http://​www.ballyalley.com|Bally Alley]] | Maintained by Adam Trionfo for over a decade, Bally Alley is the definitive archive for Bally Arcade history, documentation,​ photos, programs, advertisements,​ and more. The BBB wouldn'​t be possible without Adam's site. |
-| [[http://​www.ballyalley.com/​basic/​bally_on-board_rom_subroutines.pdf|Bally On-Board ROM Subroutines]] | Documentation of all of the Bally Arcade'​s system routines, with more verbose descriptions than those found in the Nutting Manual. Originally published in the Cursor newsletter in 1980. | +| [[http://​www.ballyalley.com/​basic/​bally_on-board_rom_subroutines.pdf|Bally On-Board ROM Subroutines]] | Documentation of all of the Bally Arcade'​s system routines, with more verbose descriptions than those found in the Nutting Manual. Originally published in the //Cursor// newsletter in 1980. [PDF] 
-| [[http://​www.ballyalley.com/​ml/​ml_docs/​vector%20tutorial/​BallyVectorTutorial_(Ver_1.03)(Lance_Squire).pdf|Bally / Astrocade Vector Animation Tutorial]] | Lance F. Squire'​s indispensable guide to pattern writing and vector movement. Covers important details that the Nutting Manual omits. | +| [[http://​www.ballyalley.com/​ml/​ml_docs/​vector%20tutorial/​BallyVectorTutorial_(Ver_1.03)(Lance_Squire).pdf|Bally / Astrocade Vector Animation Tutorial]] | Lance F. Squire'​s indispensable guide to pattern writing and vector movement. Covers important details that the Nutting Manual omits. ​[PDF] | 
-| [[http://​archive.kontek.net/​ballyalley.classicgaming.gamespy.com/​misc_docs/​bally_service_manual.pdf|Bally Arcade Service Manual]] | The Service Manual outlines the Bally Arcade'​s basic functions, technical specifications,​ parts, and circuit layout.|+| [[http://​www.ballyalley.com/​ml/​ml_docs/​Bit%20Fiddler/​Bit%20Fiddler'​s%20Corner%20%281983%29%28Andy%20Guevara%29.pdf|Astrocade Machine Language Programming Tutorial]] | A compilation of articles from "The Bit Fiddler'​s Corner,"​ written by Andy Guevara and originally published in the //​Arcadian//​ between 1983–84. A great start for those who are new to both the Bally Arcade and Z80 assembly programming. [PDF] 
 +| [[http://​archive.kontek.net/​ballyalley.classicgaming.gamespy.com/​misc_docs/​bally_service_manual.pdf|Bally Arcade Service Manual]] | The Service Manual outlines the Bally Arcade'​s basic functions, technical specifications,​ parts, and circuit layout. ​[PDF] |
 | [[http://​www.glankonian.com/​~lance/​Ballyfaq.html|The Bally / Astrocade FAQ]] | Lance F. Squire'​s online FAQ outlining the console'​s history, specifications,​ cartridges, etc. | | [[http://​www.glankonian.com/​~lance/​Ballyfaq.html|The Bally / Astrocade FAQ]] | Lance F. Squire'​s online FAQ outlining the console'​s history, specifications,​ cartridges, etc. |
  
-^ Z80 Programming ​^^ +^ Z80 ^^ 
-| Programming the Z80 | Rodney Zaks' 1980 programming manual for the Z80 CPU. A solid resource for programmers new to Z80 assembly. |+| [[http://​www.z80.info/​zip/​zaks_book.pdf|Programming the Z80]] (3rd Ed.) | Rodney Zaks' 1980 programming manual for the Z80 CPU. A solid resource for programmers new to Z80 assembly, though the learning curve gets steep after the introductory chapters. [PDF] | 
 +|[[http://​sites.fas.harvard.edu/​~cscie287/​spring2016/​slides/​Zilog%20Z80%20Family%20CPU%20User%20Manual%20z80cpu_um.pdf|Z80 Family CPU User Manual]] | Zilog'​s official documentation for the Z80 CPU. Clear and comprehensive. [PDF] | 
 +| [[http://​www.z80.info/​zip/​z80-documented.pdf|The Undocumented Z80 Documented]] | Sean Young'​s deep dive into the Z80's inner workings. [PDF] | 
 +| [[http://​t.eeems.ca/​Z80ASM/​index.htm|Z80 Assembly]] | One of the best Z80 guides online, especially for beginners. |
 ===== Credits ===== ===== Credits =====
 //Software and Hardware for the Bally Arcade: A Technical Description//​ \\ //Software and Hardware for the Bally Arcade: A Technical Description//​ \\
Line 69: Line 72:
 Edits, annotations,​ and revisions maintained by [[http://​www.metopal.com|Nathan Altice]] (Project started 5/​21/​2016). ​ Edits, annotations,​ and revisions maintained by [[http://​www.metopal.com|Nathan Altice]] (Project started 5/​21/​2016). ​
  
 +<​code>​
 +        __|_|_-__---__---___================___---__---__==_____
 +       ​|\|____________________________________________________|/​|
 +       ​||| ​                                                   |||
 +       ​||| ​                                                   |||
 +       ​||| ​                                                   |||
 +       ​||| ​                                                   |||
 +       ​|||____________________________________________________|||
 +       ​||\ ​                            ​============= ​        / ||
 +       || |-------------------------------------------------| ​ ||
 +       || |                ___________________________ ​     |  ||
 +       || |                |.... | _________________ |      |  ||
 +       || |                |.... | |               | |      |  ||
 +       || |                |.... | |               | |      |  ||
 +       || |                |.... | |_______________| |      |  ||
 +       || |                |.... | __    _____       ​| ​     |  ||
 +       ​||| ​                |.... | R-    Eject       ​| ​      | ||
 +       ​||| ​                ​--------------------------- ​      | ||
 +       ​|/​------------------------------------------------------\|
 +        --------------------------------------------------------
 +</​code>​
  
 +ASCII illustration by Lance F. Squire