/ prom.asm - emulated prom card for Scelbi 8H / / READS FILE FROM INP2 / EXPECTS 6 BYTE HEADER: / 0 ENTRY ADDRESS (ADDR:PG) / 2 LOAD ADDRESS (ADDR:PG) / 4 FILE LENGTH (LOW:HIGH) / USES RST 0 TO LAUNCH PROGRAM ORG 77 000 /START OF 256 BYTE PROM ENTRY LOADER LOADER, LHI 0 /PAGE 0 LLH /RST 0 ADDRESS LAI 104 /JMP OP CODE LMA /STORE JMP CODE INL /POINT TO RST ADDRESS CAL GET /GET ENTRY ADDRESS LMA /STORE ADDRESS INL /POINT TO RST PAGE CAL GET /GET PAGE LMA /STORE PAGE CAL GET /GET LOAD ADDRESS LLA /POINT TO ADDRESS CAL GET /GET LOAD PAGE LHA /POINT TO PAGE CAL GET /GET LOW LENGTH LCA /PUT IN COUNTER CAL GET /GET HIGH LENGTH LDA /PUT IN COUNTER NEXT, CAL GET /GET FILE BYTE LMA /STORE BYTE INL /INCREMENT MEMORY POINTER JFZ SAME /STILL ON SAME PAGE INH /INCREMENT PAGE POINTER SAME, DCC /DECREMENT LOW COUNT JFZ NEXT /NOT DONE YET DCD /DECREMENT HIGH COUNT JFS NEXT /STILL LOTS TO DO RST 0 /CALL LOADED PROGRAM HLT /HALT IF PROGRAM RETURNS / /SUBROUTINES / GET, INP 0 /GET INPUT STATUS NDI 002 /LOADER READY? JTZ GET /NO INP 2 /READ LOADER LBA /SAVE INPUT CHAR LAI 375 /PORT 2 RESET MASK OUT 10 /ACK LOADER LAB /RESTORE INPUT RET