apple2js/js/cards/parallel.js

45 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-03-01 05:21:18 +00:00
/* Copyright 2010-2019 Will Scullin <scullin@scullinsteel.com>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation. No representations are made about the suitability of this
* software for any purpose. It is provided "as is" without express or
* implied warranty.
*/
2019-03-01 05:21:18 +00:00
import { debug } from '../util';
import { rom } from '../roms/cards/parallel';
2016-11-22 05:17:34 +00:00
export default function Parallel(io, cbs) {
debug('Parallel card');
2016-11-28 01:28:49 +00:00
var LOC = {
IOREG: 0x80
};
2016-11-28 01:28:49 +00:00
function _access(off, val) {
switch (off & 0x8f) {
2016-12-06 05:16:21 +00:00
case LOC.IOREG:
if (cbs.putChar && val) {
2016-12-06 05:16:21 +00:00
cbs.putChar(val);
}
break;
default:
debug('Parallel card unknown softswitch', off);
2016-11-28 01:28:49 +00:00
}
}
return {
2016-11-28 01:28:49 +00:00
ioSwitch: function (off, val) {
return _access(off, val);
},
read: function(page, off) {
return rom[off];
},
write: function() {}
};
}