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 - 3FFFF RAM1 Calculated RAM. Confirm. [edit] [del]
60000 - 67FFF RAM2 Calculated RAM. Confirm. [edit] [del]
60900 - 60907 RAM3 Calculated RAM. Confirm. [edit] [del]
100000 - 10FFFF RAM4 Calculated RAM. Confirm. [edit] [del]
110000 - 110FFF RAM5 Calculated RAM. Confirm. [edit] [del]
120000 - 121FFF RAM6 Calculated RAM. Confirm. [edit] [del]
130000 - 130FFF RAM7 Calculated RAM. Confirm. [edit] [del]
140030 - 140031 RAM8 Calculated RAM. Confirm. [edit] [del]
200000 - 23FFFF RAM9 Calculated RAM. Confirm. [edit] [del]
260000 - 267FFF RAM10 Calculated RAM. Confirm. [edit] [del]
-

ROM Areas Help
Start - End Sign. Short Name/
Program
Description/
Chip Location
 
0 - FFFF BFDB 10380a Generated ROM test [edit] [del]
1 - 10000 18E 10382a Generated ROM test [edit] [del]
20000 - 2FFFF 90 10381a Generated ROM test [edit] [del]
20001 - 30000 731B 10383a 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 "68000.pod"
	POD 68000

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! 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 OUT RUN - OUTRUN
	aux OUT RUN - OUTRUN
	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 ____5=RAM5
	aux ____6=RAM6
	aux ____7=RAM7
	aux ____8=RAM8
	aux ____9=RAM9
	aux ____A=RAM10
	aux ____E=TEST ALL 
	aux _
	aux ____F=RETURN 
	aux _
	aux MENU COMMAND>
	dpy CMD> 1-10,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 = 5 goto Menu5    !! hooks to RAM5
	if Input = 6 goto Menu6    !! hooks to RAM6
	if Input = 7 goto Menu7    !! hooks to RAM7
	if Input = 8 goto Menu8    !! hooks to RAM8
	if Input = 9 goto Menu9    !! hooks to RAM9
	if Input = A goto MenuA    !! hooks to RAM10
	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

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

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

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

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

Menu9:	!! RAM9
	execute RAM9
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

MenuA:	!! RAM10
	execute RAM10
	dpy #
	dpy TEST DONE
	aux TEST DONE
	execute GetKey
	goto MenuLp

MenuE:	!! All tests
	execute RAM1
	execute RAM2
	execute RAM3
	execute RAM4
	execute RAM5
	execute RAM6
	execute RAM7
	execute RAM8
	execute RAM9
	execute RAM10
	dpy #
	dpy TESTS DONE
	aux TESTS DONE
	execute GetKey
	goto MenuLp


	
MenuF:

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

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

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

	dpy RAM test @ 60000-67FFF
	aux RAM test @ 60000-67FFF
	
	RAM short @ 60000-67FFF

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

	dpy RAM test @ 60900-60907
	aux RAM test @ 60900-60907
	
	RAM short @ 60900-60907

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM4
!! Purpose: Tests one address range in RAM mode. $100000-$10FFFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM4

	dpy RAM test @ 100000-10FFFF
	aux RAM test @ 100000-10FFFF
	
	RAM short @ 100000-10FFFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM5
!! Purpose: Tests one address range in RAM mode. $110000-$110FFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM5

	dpy RAM test @ 110000-110FFF
	aux RAM test @ 110000-110FFF
	
	RAM short @ 110000-110FFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM6
!! Purpose: Tests one address range in RAM mode. $120000-$121FFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM6

	dpy RAM test @ 120000-121FFF
	aux RAM test @ 120000-121FFF
	
	RAM short @ 120000-121FFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM7
!! Purpose: Tests one address range in RAM mode. $130000-$130FFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM7

	dpy RAM test @ 130000-130FFF
	aux RAM test @ 130000-130FFF
	
	RAM short @ 130000-130FFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM8
!! Purpose: Tests one address range in RAM mode. $140030-$140031
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM8

	dpy RAM test @ 140030-140031
	aux RAM test @ 140030-140031
	
	RAM short @ 140030-140031

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM9
!! Purpose: Tests one address range in RAM mode. $200000-$23FFFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM9

	dpy RAM test @ 200000-23FFFF
	aux RAM test @ 200000-23FFFF
	
	RAM short @ 200000-23FFFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: RAM10
!! Purpose: Tests one address range in RAM mode. $260000-$267FFF
!!	Calculated RAM. Confirm.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program RAM10

	dpy RAM test @ 260000-267FFF
	aux RAM test @ 260000-267FFF
	
	RAM short @ 260000-267FFF

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! 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=10380a
	aux ____2=10382a
	aux ____3=10381a
	aux ____4=10383a
	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 10380a
	if Input = 2 goto Menu2    !! hooks to 10382a
	if Input = 3 goto Menu3    !! hooks to 10381a
	if Input = 4 goto Menu4    !! hooks to 10383a
	if Input = E goto MenuE    !! hooks to all tests
	goto  MenuLp

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

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

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

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

MenuE:	!! All tests
	execute 10380a
	execute 10382a
	execute 10381a
	execute 10383a
	dpy #
	dpy TESTS DONE
	aux TESTS DONE
	execute GetKey
	goto MenuLp


	
MenuF:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 10380a
!! Purpose: Tests one ROM. $0-$FFFF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 10380a

	dpy ROM test @ 0-FFFF sig BFDB
	aux ROM test @ 0-FFFF sig BFDB
	
	ROM test @ 0-FFFF sig BFDB

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 10382a
!! Purpose: Tests one ROM. $1-$10000
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 10382a

	dpy ROM test @ 1-10000 sig 18E
	aux ROM test @ 1-10000 sig 18E
	
	ROM test @ 1-10000 sig 18E

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 10381a
!! Purpose: Tests one ROM. $20000-$2FFFF
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 10381a

	dpy ROM test @ 20000-2FFFF sig 90
	aux ROM test @ 20000-2FFFF sig 90
	
	ROM test @ 20000-2FFFF sig 90

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Program: 10383a
!! Purpose: Tests one ROM. $20001-$30000
!!	Generated ROM test
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program 10383a

	dpy ROM test @ 20001-30000 sig 731B
	aux ROM test @ 20001-30000 sig 731B
	
	ROM test @ 20001-30000 sig 731B

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! 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.064s