2 * Copyright (C) 1996-1998 Szeredi Miklos
3 * Email: mszeredi@inf.bme.hu
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version. See the file COPYING.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 extern unsigned char rom_imag
[];
26 int SPNM(quick_load
) = 1;
27 int SPNM(load_trapped
);
29 qbyte
SPNM(scr_mark
)[SCRMARK_SIZE
];
30 byte
SPNM(fe_inport_high
)[256];
35 unsigned char SPNM(colors
)[16];
37 int SPNM(flash_state
);
39 qbyte
*SPNM(scr_f0_table
);
40 qbyte
*SPNM(scr_f1_table
);
42 byte
SPNM(tape_impinfo
)[PORT_TIME_NUM
];
43 byte
SPNM(fe_inport_default
);
44 byte
SPNM(fe_outport_time
)[PORT_TIME_NUM
];
45 byte
SPNM(sound_buf
)[PORT_TIME_NUM
];
46 signed char SPNM(tape_sound
)[TMNUM
];
47 int SPNM(scri
)[PORT_TIME_NUM
];
48 int SPNM(coli
)[PORT_TIME_NUM
];
50 int SPNM(playing_tape
) = 0;
54 qbyte
SPNM(imag_mark
)[192];
55 qbyte
SPNM(imag_horiz
);
56 qbyte
SPNM(imag_vert
);
57 int SPNM(border_update
);
60 void SPNM(init_screen_mark
)(void)
64 for(i
= 0x200; i
< 0x2D8; i
++) SPNM(scr_mark
)[i
] = ~((qbyte
) 0);
66 SPNM(border_update
) = 1;
76 SPNM(load_trapped
) = 0;
78 for(i
= 0; i
< PORTNUM
; i
++) PRNM(inports
)[i
] = 0x00;
80 DANM(inport_mask
) = 0x20;
81 /* TODO: Kempston is always present, this is not nice */
83 SPNM(fe_inport_default
) = 0xBF; /* Issue 3 */
85 DANM(ula_outport
) = 0xFF;
87 for(i
= 0; i
< 256; i
++) SPNM(fe_inport_high
)[i
] = 0xFF;
89 for(i
= 0; i
< PORT_TIME_NUM
; i
++) SPNM(tape_impinfo
)[i
] = 0;
91 DANM(ula_inport
) = SPNM(fe_inport_default
);
95 for(i
= 0; i
< 0x4000; i
++) PRNM(proc
).mem
[i
] = rom_imag
[i
];
97 SPNM(init_screen_mark
)();