BBC BASIC for the Commodore 64 ============================== Uses standard BBC HiBASIC II relocated to &B800. Host interface code at &B000-&B700 and &F800-&FFFF. 26-Feb-2013, v0.23: - Screen moved to top of memory, allows standard 6502 BBC BASIC with workspace at &400 to be dropped straight in. Also allows different screen modes to be used with free memory at the top of BASIC's memory being used, as in other environments. 20-Feb-2013, v0.22: - SAVE implemented. 15-Feb-2013, v0.21: - OSBYTE, OSWORD, OSRDCH in high memory. - VDU queue and dispatch. - COLOUR, VDU 20, TAB, MODE (all MODEs are MODE 1). - OSWORD &05 (RdMem), OSWORD &06 (WrMem), OSBYTE &80 (ADVAL) (currently just reads Kernal/IO memory). - Flashing cursor enabled, removed during character output. 10-Feb-2013, v0.20: - Seperated Host Interface code from BASIC source, can now develop seperately without interdependencies. - LOAD calls OPEN with secondary address=0 (reading) instead of 2 (writing). 04-Feb-2013, v0.15: - OSWORD &01 (=TIME) returns count in 1/100s. - LOAD and LOAD (notfound) works, READST needed to be checked before entering load loop. - C64 error values translated into BBC errors. - "d:filename" filenames implemented. - If loading from tape, prompts to RECORD instead of PLAY. Also, if Stop/Escape pressed, leaves channel open and can't load from a different device. 03-Feb-2013, v0.14: - Code has "BBCBASIC" title. - OSWORD dispatch integrated into OSBYTE dispatch. - OSWORD &00 (RDLINE). - OSWORD &01 (=TIME) - returns in 1/60s, needs converting to 1/100s. - CALL/USR to &64xxxx calls with C64 Kernal and I/O paged in. - Made a start on OSFILE for loading. LOAD works, but LOAD (notfound) reads a single byte before giving an error, causing Bad program if loading a program. 02-Feb-2013, v0.13: - OSBYTE dispatch code. - Minimal OSBYTE implemented, calls &00, &7C-&87 return minimal results. 01-Feb-2013, v0.12: - BBC API at &FFxx when Kernal switched out. NMI also pages in C64 Kernal. 31-Jan-2013, v0.11: - Worked out how to switch out active Kernal, full 64K RAM used, IRQs page in C64 Kernal. Code moved up to &B000-&FFFF. 28-Jan-2013, v0.10: - OSWRCH, OSRDCH, BRK error blocks implemented. Keyboard input and screen output characters are translated to regular ASCII. Only one-byte control characters implemented so far.