QuarterArcade Coin-Op Tech Net

IntroductionFIDE SoftwareSign UtilityProgramming9010A Code Generator
General Setup Help
Short Program Description
POD:
exercise errors?:

RAM Areas Help
Start - End Short Name/
Program
Description  
0 - 3FFF RAM1 Calculated RAM. Confirm. [edit] [del]
4C00 - 4FFF RAM2 Calculated RAM. Confirm. [edit] [del]
8100 - 8103 RAM3 Calculated RAM. Confirm. [edit] [del]
8200 - 8203 RAM4 Calculated RAM. Confirm. [edit] [del]
-

ROM Areas Help
Start - End Sign. Short Name/
Program
Description/
Chip Location
 
0 - 7FF D7B7 2dk Generated ROM test [edit] [del]
800 - FFF 3CB1 2ek Generated ROM test [edit] [del]
1000 - 17FF BA89 2fk Generated ROM test [edit] [del]
1800 - 1FFF 66E2 2hk Generated ROM test [edit] [del]
2000 - 27FF ADFB 2jk Generated ROM test [edit] [del]
2800 - 2FFF 4DA6 2lk Generated ROM test [edit] [del]
3000 - 37FF BE45 2mk Generated ROM test [edit] [del]
3800 - 3FFF 2952 2pk Generated ROM test [edit] [del]
-
Help/Tips
Introduction
This utility is used to build Fluke 9010A scripts, focusing on RAM and ROM tests. These are the most easily automated tasks. You can start with your own blank script file and add address regions, or you can find the MAME virtual driver and use that as a starting point.

Version 1.0: Edit support. Handles generation from MAME virtual machine drivers. Compresses RAM space (only uses that space that is tagged R & W).
Version 0.91: Updates to ROM inputs. Formatting changes.
Version 0.9: Initial version testing out concepts.

Generated Code:


! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!
!
!  Fluke 9010A Code Generator
!  Process copyright QuarterArcade.com, LLC 
!
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! SETUP CODE 
!! Purpose: To set the pod include file and the pod being used, as well as
!!		relevant setup conditions.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
setup
	include "z80.pod"
	POD z80

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! SUB: Main
!! PURPOSE: Start the process. Introduce the program to refresh the 
!!   operator's memory, and enter into the main menu.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program Main

declarations
	!! Intro
	execute QuarterArcadeLogo
	!! Short delay to introduce program
	dpy SCRAMBLE - SCRAMBLE
	aux SCRAMBLE - SCRAMBLE
	REG8 = 10
	execute DelayTics8

	execute MainMenu
	
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! SUB: MainMenu
!! PURPOSE: Give the user options to select from in menu format.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program MainMenu

declarations
	assign REGB to Input

MenuLp:
	Input = 0
	aux _
	aux _
	aux MAIN MENU
	aux ____1=RAMMenu
	aux ____2=ROMMenu
	aux _
	aux _
	aux MENU COMMAND>
	dpy CMD> 1-2
	execute GetKey

	if Input = 1 goto Menu1    !! hooks to RAMMenu
	if Input = 2 goto Menu2    !! hooks to ROMMenu
	goto  MenuLp

Menu1:	!! RAMMenu
	execute RAMMenu
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu2:	!! ROMMenu
	execute ROMMenu
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp


	
MenuF:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! SUB: RAMMenu
!! PURPOSE: Give the user options to select from in menu format.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAMMenu

declarations
	assign REGB to Input

MenuLp:
	Input = 0
	aux _
	aux _
	aux RAM MENU
	aux ____1=RAM1
	aux ____2=RAM2
	aux ____3=RAM3
	aux ____4=RAM4
	aux ____E=TEST ALL 
	aux _
	aux ____F=RETURN 
	aux _
	aux MENU COMMAND>
	dpy CMD> 1-4,E=ALL,F=UP
	execute GetKey

	if Input = 1 goto Menu1    !! hooks to RAM1
	if Input = 2 goto Menu2    !! hooks to RAM2
	if Input = 3 goto Menu3    !! hooks to RAM3
	if Input = 4 goto Menu4    !! hooks to RAM4
	if Input = E goto MenuE    !! hooks to all tests
	goto  MenuLp

Menu1:	!! RAM1
	execute RAM1
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu2:	!! RAM2
	execute RAM2
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu3:	!! RAM3
	execute RAM3
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu4:	!! RAM4
	execute RAM4
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

MenuE:	!! All tests
	execute RAM1
	execute RAM2
	execute RAM3
	execute RAM4
	dpy #
	dpy TESTS DONE
	aux TESTS DONE
	execute GetKey
	goto MenuLp


	
MenuF:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM1
!! Purpose: Tests one address range in RAM mode. $0-$3FFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM1

	dpy RAM test @ 0-3FFF
	aux RAM test @ 0-3FFF
	
	RAM short @ 0-3FFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM2
!! Purpose: Tests one address range in RAM mode. $4C00-$4FFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM2

	dpy RAM test @ 4C00-4FFF
	aux RAM test @ 4C00-4FFF
	
	RAM short @ 4C00-4FFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM3
!! Purpose: Tests one address range in RAM mode. $8100-$8103
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM3

	dpy RAM test @ 8100-8103
	aux RAM test @ 8100-8103
	
	RAM short @ 8100-8103

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM4
!! Purpose: Tests one address range in RAM mode. $8200-$8203
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM4

	dpy RAM test @ 8200-8203
	aux RAM test @ 8200-8203
	
	RAM short @ 8200-8203

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! SUB: ROMMenu
!! PURPOSE: Give the user options to select from in menu format.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program ROMMenu

declarations
	assign REGB to Input

MenuLp:
	Input = 0
	aux _
	aux _
	aux ROM MENU
	aux ____1=2dk
	aux ____2=2ek
	aux ____3=2fk
	aux ____4=2hk
	aux ____5=2jk
	aux ____6=2lk
	aux ____7=2mk
	aux ____8=2pk
	aux ____E=TEST ALL 
	aux _
	aux ____F=RETURN 
	aux _
	aux MENU COMMAND>
	dpy CMD> 1-8,E=ALL,F=UP
	execute GetKey

	if Input = 1 goto Menu1    !! hooks to 2dk
	if Input = 2 goto Menu2    !! hooks to 2ek
	if Input = 3 goto Menu3    !! hooks to 2fk
	if Input = 4 goto Menu4    !! hooks to 2hk
	if Input = 5 goto Menu5    !! hooks to 2jk
	if Input = 6 goto Menu6    !! hooks to 2lk
	if Input = 7 goto Menu7    !! hooks to 2mk
	if Input = 8 goto Menu8    !! hooks to 2pk
	if Input = E goto MenuE    !! hooks to all tests
	goto  MenuLp

Menu1:	!! 2dk
	execute 2dk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu2:	!! 2ek
	execute 2ek
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu3:	!! 2fk
	execute 2fk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu4:	!! 2hk
	execute 2hk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu5:	!! 2jk
	execute 2jk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu6:	!! 2lk
	execute 2lk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu7:	!! 2mk
	execute 2mk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

Menu8:	!! 2pk
	execute 2pk
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

MenuE:	!! All tests
	execute 2dk
	execute 2ek
	execute 2fk
	execute 2hk
	execute 2jk
	execute 2lk
	execute 2mk
	execute 2pk
	dpy #
	dpy TESTS DONE
	aux TESTS DONE
	execute GetKey
	goto MenuLp


	
MenuF:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2dk
!! Purpose: Tests one ROM. $0-$7FF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2dk

	dpy ROM test @ 0-7FF sig D7B7
	aux ROM test @ 0-7FF sig D7B7
	
	ROM test @ 0-7FF sig D7B7

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2ek
!! Purpose: Tests one ROM. $800-$FFF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2ek

	dpy ROM test @ 800-FFF sig 3CB1
	aux ROM test @ 800-FFF sig 3CB1
	
	ROM test @ 800-FFF sig 3CB1

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2fk
!! Purpose: Tests one ROM. $1000-$17FF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2fk

	dpy ROM test @ 1000-17FF sig BA89
	aux ROM test @ 1000-17FF sig BA89
	
	ROM test @ 1000-17FF sig BA89

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2hk
!! Purpose: Tests one ROM. $1800-$1FFF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2hk

	dpy ROM test @ 1800-1FFF sig 66E2
	aux ROM test @ 1800-1FFF sig 66E2
	
	ROM test @ 1800-1FFF sig 66E2

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2jk
!! Purpose: Tests one ROM. $2000-$27FF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2jk

	dpy ROM test @ 2000-27FF sig ADFB
	aux ROM test @ 2000-27FF sig ADFB
	
	ROM test @ 2000-27FF sig ADFB

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2lk
!! Purpose: Tests one ROM. $2800-$2FFF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2lk

	dpy ROM test @ 2800-2FFF sig 4DA6
	aux ROM test @ 2800-2FFF sig 4DA6
	
	ROM test @ 2800-2FFF sig 4DA6

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2mk
!! Purpose: Tests one ROM. $3000-$37FF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2mk

	dpy ROM test @ 3000-37FF sig BE45
	aux ROM test @ 3000-37FF sig BE45
	
	ROM test @ 3000-37FF sig BE45

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 2pk
!! Purpose: Tests one ROM. $3800-$3FFF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 2pk

	dpy ROM test @ 3800-3FFF sig 2952
	aux ROM test @ 3800-3FFF sig 2952
	
	ROM test @ 3800-3FFF sig 2952

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: KeyEnable
!! Purpose: Wait for a key to be pressed
!! Inputs: none
!! Output: Reg B = 40; toggles the enabling of asynchronous keyboard interrupt
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program KeyEnable
	REGB = 40                   !Initialize reg B
	dpy-+%B                     !Enable key interrupt to reg B


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: GetKey
!! Purpose: Wait here until a key is pressed
!! Inputs: none
!! Calls to: KeyEnable
!! Outputs: Register B = the value of a key pressed (0-3F)
!! Based on program found in the GFI example from Fluke's documentation
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program GetKey
	execute KeyEnable           ! Enable interrupt
1:	LABEL 1    
	if REGB = 40 goto 1         ! Loop till key pressed (<40)
	
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: DelayTics8
!! Purpose: Delays the number of tics specified by REG8
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program DelayTics8

	REG1 = REG8
dloop:
	dec REG1
	if REG1 > 0 goto dloop
	

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: QuarterArcadeLogo
!! Purpose: I'm a geek. 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program QuarterArcadeLogo

	dpy TECH.QUARTERARCADE.COM
	aux TECH.QUARTERARCADE.COM
	REG8 = 10
	execute DelayTics8	
powered by ggdb.com this page took approx. 0.072s