simh-testsetgenerator/I650/sw/it_run.ini
Roberto Sancho Villa 02e7483ee7 I650: Release 2
Hardware support:
- Half cycle simulation
- Halt CPU simulation (^E on SimH console)

New Software included: Carnegie Internal Translator (IT)
New features
- Support for displaying SOAP symbolic instructions in debug information
- CardDeck internal command to split/join/print decks of cards

Bugs corrected:
- Fixed card format handling. Release 1 can only read TEXT format
- Removed superfluous line ends from debug strings.
- Better minus zero support
- Fixed unneeded prompt Really truncate memory [N] when setting memory size
2018-04-20 15:55:26 +02:00

175 lines
3 KiB
INI

; set console -n log=log.txt
; set debug -n debug.txt
; set debug stdout
; set cpu debug=cmd;data;detail
; params: %1 source progrma card deck to compile with it
; %2 input program data card deck (if empty, do not attach input card)
; %3 output program data card deck (if empty, do not attach input card)
set cpu 2k
att cdp0 -n -q print.txt
; print IT source program
echo
carddeck -q print %1
; load IT compiler but do not execute it
echo ***
echo *** Load IT compiler deck into drum
echo ***
att cdr1 -q -l it_compiler.dck
d csw 70 1951 3000
d ar 8000
go
echo ***
echo *** Run IT compiler
echo ***
; Now put source cards in reader and start compiler
att cdr1 -q %1
set cdr1 wiring=it
att cdp1 -n -q deck_out.dck
set cdp1 echo, print, wiring=it
d csw 70 1999 3000
d ar 8000
go
; check if compilation ok
if accup=0 goto compile_ok
echo
echo *** (compilation error code in Upper ACC)
echo
ex accup
goto end
:compile_ok
; Prepare PIT deck (as compiled IT program)
; separate last 10 cards from compilation output deck (called reservation cards)
carddeck -q split -10 cdp1 deck_soap.dck deck_res.dck
det cdr1
; create the pit program deck with
; 1) reservation cards from compilation step
; 2) package used reservation deck
; 3) rest of compilation output
carddeck -q join deck_res.dck it_reservation_p1.dck deck_soap.dck as deck_pit.dck
; Load soap deck into drum (1 word per card format), but does not execute it
echo ***
echo *** Load soap deck into drum
echo ***
att cdr1 -q -l soapII.dck
d csw 7019519999
d ar 8000
go
echo ***
echo *** Apply IT modifications to soap deck
echo ***
att cdr1 -q -l it_soapII_patch.dck
d csw 7019519999
d ar 8000
go
; Now put source cards in reader and start soap assembler
echo ***
echo *** Assemble PIT deck
echo ***
att cdr1 deck_pit.dck
set cdr1 wiring=soap
att cdp1 -n -q deck_out.dck
set cdp1 echo, print, wiring=soap
d ar 1000
go
; Prepare SPIT deck (as assembled PIT program)
; create the spit program deck with
; 1) package cards
; 2) assembly output
det cdr1
det cdp1
carddeck -q join it_package_p1.dck deck_out.dck as deck_spit.dck
; Load deck into drum (1 word per card format), but does not execute it
echo ***
echo *** Read SPIT deck to run into drum
echo ***
; Load assembled deck into drum
; -l switch allows to load the symbolic info so debug cmd info will show
; soap source code read from card.
set cdr1 wiring=8WORD
att cdr1 -l deck_spit.dck
d csw 7019519999
d ar 8000
go
; attach input and output data deck
det cdr1
if "%2" == "" goto run1
att cdr1 -q %2
set cdr1 wiring=it
:run1
if "%3" == "" goto run2
att cdp1 -n -q %3
set cdp1 echo, print, wiring=it
:run2
; Now execute the loaded deck
echo ***
echo *** Run program
echo ***
; set csw to -1 to activate conditional type statement
d csw 0
d ar 1999
go
; clean up
del deck_pit.dck
del deck_spit.dck
del deck_soap.dck
del deck_res.dck
:end