summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* disk: fix the 8" disk formatHEADmasterH. Peter Anvin2016-10-071-6/+2
| | | | | | Have finally figured out the 8" disk format: the addressing is strictly logical, and physical track 0, side 0 is not used. This means that the final cluster is fractional (and not used by DOS).
* README: Updateabc80sim-2.1H. Peter Anvin2013-10-291-0/+24
| | | | | | Update the README to reflect the current status. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: optimize the handling of register RH. Peter Anvin2013-10-272-8/+8
| | | | | | | | | Optimize the handling of register R by keeping the counting and the fixed parts separate, and only merge them when reading out the value. Since this is pretty rare, and incrementing is common, it is much more efficient. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: RETI operates like RETN except for the interrupt chainH. Peter Anvin2013-10-271-4/+1
| | | | | | RETI behaves like RETN, not like RET, except for the peripheral chain. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: DD CB/FD CB increment R by 2, not 3H. Peter Anvin2013-10-271-1/+1
| | | | | | | | For some reason, DD CB/FD CB instructions increment R by 2 and not 3. They are weird enough as it is, so perhaps they fetch the opcode on the immediate path. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: on accepting an interrupt, increase R by oneH. Peter Anvin2013-10-271-0/+3
| | | | | | That, at least, is the claim. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: handle the R register for repeating instructionsH. Peter Anvin2013-10-271-2/+17
| | | | | | | This is as accurate as we need to be in the absence of handling interrupts in the middle. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: increment the R register properlyH. Peter Anvin2013-10-271-4/+10
| | | | | | | Bit 7 in R doesn't increment, but it *can* be programmed, confusingly enough. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: Implement the R registerH. Peter Anvin2013-10-272-27/+13
| | | | | | | Implement the R register. This should be correct except possibly the interrupt behavior. Still better than just returning random contents. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: we now have decodes for all bytes, so drop the bailoutH. Peter Anvin2013-10-271-19/+0
| | | | | | | According to gcc all cases are now covered, so there is no reason to have a bailout system. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: at least one source has ED 4E and ED 6E as IM 0H. Peter Anvin2013-10-271-0/+2
| | | | | | ... so go with it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: Multiple DD or FD prefixes are permittedH. Peter Anvin2013-10-271-4/+0
| | | | | | | Multiple DD or FD prefixes are permitted, only the last one takes effect. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: fix undocumented behavior of DD CB and FD CB instructionsH. Peter Anvin2013-10-271-783/+860
| | | | | | | Fix the established undocumented behavior for the DD CB and FD CB set of instructions. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: more tuning of undocumented instruction behaviorH. Peter Anvin2013-10-271-3/+44
| | | | | | | Our handling of undocumented DD/FD CB instructions is still totally wrong. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: quiet warningsH. Peter Anvin2013-10-271-64/+65
| | | | | | Restructure the code slightly to quiet gcc warnings. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: more useful bailout on unknown instructionsH. Peter Anvin2013-10-261-14/+25
| | | | | | | Since we don't know what they do, we have to bail out somehow. At least we can try to explain to the user what it was we bailed for. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* printrom: revert to using IXL/IXH registersH. Peter Anvin2013-10-262-6/+4
| | | | | | This works on hardware, and now it works on the simulator too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: add the undocumented instruction SLLH. Peter Anvin2013-10-261-0/+51
| | | | | | Shift left, insert 1. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* z80: Handle IXL/IXH instructionsH. Peter Anvin2013-10-263-533/+311
| | | | | At least attempt to handle the IXL/IXH instructions; merge the code to handle normal instructions and the code to handle indexed instructions.
* Allow arrow keys to work as on ABC80 (= backspace/tab)H. Peter Anvin2013-10-261-40/+53
| | | | | | | Left and right arrow keys on ABC80 generate backspace and tab, so match that behavior. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* fileop: make it possible to get the exact size of a fileH. Peter Anvin2013-10-261-2/+4
| | | | | | | Include the number of excess bytes in the last logical block, to make it possible to obtain the exact size of a file if desired. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* .gitignore: include additional generated filesH. Peter Anvin2013-10-261-1/+2
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* printrom: fix handling of file not foundH. Peter Anvin2013-10-262-0/+5
| | | | | | | | | The BASIC interpreter seems to assume that on file not found we will return with C=1, A=0 and DE preserved, so behave that way. It begs the question if we also need to preserve BC and HL across the various calls. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Rename printer.* to printrom.*H. Peter Anvin2013-10-266-10/+9
| | | | | | | printer.c sounds much more like something that should be the printer I/O driver... it gets too confusing. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile rules to generate printer.binH. Peter Anvin2013-10-263-1/+7
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: remove from git (only Makefile.in lives in git)H. Peter Anvin2013-10-261-69/+0
|
* Add printer ROM source code and the assembler for itH. Peter Anvin2013-10-2615-0/+6372
| | | | | | This is a different z80asm... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Remove z80asm directory - no longer usedH. Peter Anvin2013-10-266-4734/+0
|
* z80.h: we need config.hH. Peter Anvin2013-10-251-0/+2
|
* print.c: needs config.h (to enable extensions)H. Peter Anvin2013-10-251-0/+2
| | | | fileno() is not always available, it depends on feature macros.
* clock.c: silence unnecessary warningH. Peter Anvin2013-10-251-0/+1
|
* Change to standard uint8_t and uint16_t typesH. Peter Anvin2013-10-258-96/+95
|
* Convert to using autoconfH. Peter Anvin2013-10-2514-36/+980
|
* sinus.bac: support 80-character modeH. Peter Anvin2013-10-241-0/+0
| | | | | | Make sinus.bac work in 40- or 80-character mode; useful as a test. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix graphics modeH. Peter Anvin2013-10-242-37/+36
| | | | | | Fix braindamage in the font file (low right square always set!) Fix the handling of the graphics status on modifications.
* Makefile: update GENC to include printer.cH. Peter Anvin2013-10-241-1/+1
| | | | | | Remove abcdev.c and add printer.c to GENC. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Replace lib program for old UNX: device with new one for PRA:H. Peter Anvin2013-10-242-0/+7
|
* Replace the old UNX:/LIB: device with PR:/PRA:/PRB: from FPGA projectH. Peter Anvin2013-10-2014-476/+888
| | | | | | | | | Replace the old UNX:/LIB: devices with the PR:/PRA:/PRB: device from the ABC80-in-FPGA project. This allows printing, and shares both the ROM and the backend code with the FPGA project for consistent behavior. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* disk.c: make #if for interleaved disk format explicitH. Peter Anvin2013-09-191-1/+2
| | | | | If taking a disk dump on non-ABC hardware, at least MO disks will be software-interleaved, so there is an option to handle that format.
* Completely get rid of mandatory external filesH. Peter Anvin2013-09-198-332/+75
| | | | | Move the abcdev and ufddos binaries internal, thus removing the last files needed in the lib directory.
* Makefile: don't install the font fileH. Peter Anvin2013-09-191-2/+1
| | | | The font is compiled in now
* Makefile: no more abcprom fileH. Peter Anvin2013-09-181-1/+0
|
* disk.c: correct reversal of sector upload/download commandsH. Peter Anvin2013-09-181-4/+4
|
* Add generated files to .gitignoreH. Peter Anvin2012-08-191-0/+2
|
* Add missing bin2c.pl fileH. Peter Anvin2012-08-191-0/+60
|
* Fix blink handling in 40 column modeH. Peter Anvin2012-08-121-2/+2
|
* disk/ -> abcdisk/H. Peter Anvin2012-08-121-1/+1
|
* Handle BASIC switching when changing 40/80 columnsH. Peter Anvin2012-08-126-23/+25
|
* Handle the I/O side of 80 character supportH. Peter Anvin2012-08-128-6272/+371
| | | | 80 character support in the VDU; still need to swap out the ROM
* Add Z80 assembler used for abcdev for nowabc80sim-2.0H. Peter Anvin2012-08-116-0/+4734
|