Commit message (Collapse)AuthorAgeFilesLines
* Document abcprintd changeabc80-de1-17H. Peter Anvin2009-01-181-0/+6
* abcprintd: fix the handing of path namesH. Peter Anvin2009-01-182-22/+19
| | | | | | | daemon() by default makes a chdir to /. We don't want that if we have a file directory. Furthermore, we can make the whole file directory handling a lot simpler if we chdir() to the file directory and then use plain filename paths.
* Remove "turbo mode" - it will not workabc80-de1-16H. Peter Anvin2009-01-183-14/+5
| | | | | | | The driver chip on the DE1 is a MAX232, which is rated only for 120 kbps. As a result, expecting 461 kbps to work is optimistic at best, and is only going to be a source of problems. Drop any trace of "turbo mode" support, and let the synthesizer do a better job instead.
* sound.v: fix the sawtooth generator boundariesH. Peter Anvin2009-01-161-2/+2
| | | | Constrain the sawtooth generator properly.
* Move the audio unit to a separate PLLH. Peter Anvin2009-01-164-45/+356
| | | | | | | Make the clocking a little easier by moving the audio unit to a separate PLL fed from the 24 MHz input clock. Generating 16 MHz from 50 MHz required very high ratios which meant that it was difficult to adjust the other frequencies at all.
* errlist.txt: fixa stavfelH. Peter Anvin2009-01-161-1/+1
* Revert the character set back to Latin-1; Cygwin has no UTF-8 supportH. Peter Anvin2009-01-166-101/+107
| | | | | Cygwin isn't UTF-8 ready yet, so revert all the text files back to Latin-1.
* Add hack to auto-initialize the printer ROM devicesabc80-de1-15H. Peter Anvin2009-01-103-1/+11
* Makefile: ignore files/* directoryabc80-de1-14H. Peter Anvin2009-01-101-1/+1
| | | | Ignore the files/* directory
* abcprintd: remove debugging code; hide the -t optionH. Peter Anvin2009-01-103-23/+3
| | | | | Remove the debugging code. Right now 460800 bps doesn't seem to work, so undocument the turbo mode.
* The last jumps are delete and rename, but they don't workH. Peter Anvin2009-01-101-15/+22
| | | | | | The last entries in the jump table are indeed delete and rename, but they don't work due to DOS assuming only disk files can be renamed or deleted.
* printer.asm: beginnings of block I/O supportH. Peter Anvin2009-01-091-15/+74
| | | | | Get some of the block I/O support in there. It's still not right, however; and of course the documentation is all wrong.
* fileop: Now input pra: seems to work, too...H. Peter Anvin2009-01-092-25/+64
* Snapshot the file operations workH. Peter Anvin2009-01-069-37/+360
| | | | | | | | | Snapshot the file operations work. Basic block download now works (I'm even testing this by downloading new versions of printer.bin via a small BASIC stub.) "turbo mode" (460800 bps) doesn't seem to work, however, not really sure why. Not that it really matters. Plenty of more work to be done, though.
* printer.v: allow C3# (OUT 4) to clear the input FIFOH. Peter Anvin2009-01-041-1/+2
| | | | Implement a flash clear command; it's easy enough to do.
* z80dis: fix a bug disassembling code with IXLH. Peter Anvin2009-01-041-1/+1
* abcprintd: fix fileop state machine; add debugging printfsH. Peter Anvin2009-01-042-7/+16
| | | | | Fix the fileop state machine. Disable daemonizing and add some debugging printfs for the moment.
* printer.asm: minor changes for readabilityH. Peter Anvin2009-01-041-25/+26
* printer.v: fix receive circuitH. Peter Anvin2009-01-041-9/+9
| | | | | Two errors in the receive circuit: the counter was tested with & instead of |, and the wrong bits were being latched.
* printer: fix support for new bidirectional portH. Peter Anvin2009-01-042-7/+6
* tools/Makefile: need .SUFFIXESH. Peter Anvin2009-01-041-0/+2
* Merge branch 'de1' of ssh://terminus.zytor.com/pub/git/fpga/abc80/abc80 into de1H. Peter Anvin2009-01-045-21/+602
| * errlist: fix typoH. Peter Anvin2009-01-041-1/+1
| |
| * abcprintd: initial implementation of a remote access protocolH. Peter Anvin2009-01-044-21/+533
| | | | | | | | | | Completely untested, but "at least it compiles" implementation of a remote file access protocol in abcprintd.
| * Include a list of ABC80 error codesH. Peter Anvin2009-01-041-0/+69
| | | | | | | | | | Include a list of ABC80 error codes, using the original Swedish definitions.
* | data/Makefile: build basic80.mifH. Peter Anvin2009-01-031-1/+1
|/ | | | We need basic80.mif for the 80-column BASIC patch ROM.
* z80dis: allow disassembly at an offset other than zeroH. Peter Anvin2009-01-031-5/+17
| | | | | Take an optional argument which is the base address of the file being disassembled.
* Bidirectional printer port, including ROM revisionH. Peter Anvin2009-01-033-91/+185
| | | | | | Make the "printer" port bidirectional, to accommodate a simple networking interface (to be implemented in abcprintd). Additionally, implement the FF-escaping in the printer ROM instead of in hardware.
* Add a serial port receive FIFO for the "printer" portH. Peter Anvin2009-01-031-0/+181
| | | | | | Add a serial port receive FIFO for the "printer" port. This way we can make it bidirectional and use it to access the rest of the world.
* sound.v: fix typoH. Peter Anvin2008-12-301-1/+1
| | | | | | Fix a typo in sound.v; the synthesizer will have done the right thing anyway by pure accident, so this doesn't change the logic in any way, but it'll avoid a warning and perhaps more importantly, avoid confusion.
* Fix audio DAC programmingabc80-de1-13H. Peter Anvin2008-12-303-15/+40
| | | | | Quite a few of the sound DAC register settings were just plain wrong. Fix them.
* sddrom: "don't re-issue HCS bit" was a misreading of specabc80-de1-12H. Peter Anvin2008-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The spec states: SD_SEND_OP_COND (ACMD41) is used to start initialization and to check if the card has completed initialization. It is mandatory to issue CMD8 prior to the first ACMD41. Receiving of CMD8 expands the CMD58 and ACMD41 function; HCS (High Capacity Support) in the argument of ACMD41 and CCS (Card Capacity Status) in the response of CMD58. HCS is ignored by the card, which didn’t accept CMD8. Standard Capacity SD Memory Card ignores HCS. The “in idle state” bit in the R1 response of ACMD41 is used by the card to inform the host if initialization of ACMD41 is completed. Setting this bit to “1” indicates that the card is still initializing. Setting this bit to “0” indicates completion of initialization. The host repeatedly issues ACMD41 until this bit is set to “0”. The card checks the HCS bit in the OCR only at the first ACMD41. While repeating ACMD41, the host shall not issue another command except CMD0. I misread that to mean that it was supposed to set HCS <- 0 before re-issuing ACMD41, which is unnecessary. Also, add a unique LED error code (E8) to ACMD41 error.
* Document DE1-11abc80-de1-11H. Peter Anvin2008-12-301-0/+5
* sddrom: actually read the OCR!H. Peter Anvin2008-12-301-1/+1
| | | | | | Did an OTDR instead of INDR to read the OCR, with predicably bad effects. As a result, version 10 broke all non-SDHC cards except very old ones.
* Document updates in DE1-10abc80-de1-10H. Peter Anvin2008-12-301-0/+15
* sddrom: fix support for SDHCH. Peter Anvin2008-12-301-5/+11
| | | | | | | Fix support for SDHC. The wrong flag was checked in SDHC, and there were some minor misses in the initialization sequence. Per spec, the SDHC offer bit should only be in the first ACMD41, not in the interations thereof.
* sddrom: be more careful about DEHL during sd_initH. Peter Anvin2008-12-301-6/+7
| | | | | | | In the sd_init sequence, be really careful about the argument registers (DEHL). If there is ever any doubt, call RST 16 to clear them - it is only a one-byte instruction, and this is not time-critical code in any way.
* abc80.v: restructure the video_width conditional to synthesizeabc80-de1-9H. Peter Anvin2008-12-291-6/+8
| | | | | | Restructure the video_width conditional, so the synthesizer can recognize it as the usual kind of flipflop with reset and nothing unusual.
* sddrom.asm: minor space optimizationH. Peter Anvin2008-12-291-31/+29
| | | | Rearrange some entry points to save a few bytes.
* sddrom: be a bit more paranoid about when sd_buf is valid and notH. Peter Anvin2008-12-291-3/+6
| | | | | | Be a bit more strict about when sd_buf is valid or not. In particular, for a RMW it is valid after the R, invalid during MW, and then valid again.
* sddrom.asm: nothing is locked in setup_commandH. Peter Anvin2008-12-291-0/+1
| | | | If we get to setup_command, clear any lock state
* sddrom.asm: clear the interrupt pending flagH. Peter Anvin2008-12-291-1/+2
| | | | | Make sure to clear the interrupt pending flag and not leaving it in memory (with the obvious result on the next unlock.)
* led.inc: a few more Greek letters that can be recognized, sort ofH. Peter Anvin2008-12-291-1/+6
* sddrom.asm: move LED codes to include file, add a few moreH. Peter Anvin2008-12-293-38/+43
| | | | | Move the LED codes to a separate include file, and add a few more in case we ever need them.
* sddisk.v: make it explicit errled <- 0 on PORH. Peter Anvin2008-12-291-1/+1
| | | | | Since errled is not reset by ireset (since the CPU may very well want to reset controller after an error), make sure it is set to 0 on POR.
* sddisk: report initialization errors to the system and LEDsabc80-de1-8H. Peter Anvin2008-12-294-15/+94
| | | | | | Handle SD card initialization errors better. Display an error code (Ex) on the s7 LED, and report an error to ABC80 instead of hanging forever.
* i2c: i2c_rom_stop had silently changed definition, so update valueH. Peter Anvin2008-12-281-1/+1
| | | | | | The check of i2c_rom_stop changed from the beginning to the end of the cycle, which means that the value should be decremented to the last valid value.
* i2c: rename "bit" to "sda" to shut up a warningH. Peter Anvin2008-12-281-33/+33
| | | | | Rename "bit" to "sda" to shut up warning about SystemVerilog compatibility.
* Minor cleanups (eliminate warnings)H. Peter Anvin2008-12-283-4/+2
| | | | | Do some minor cleanups, to reduce the heap of warnings the synthesizer emits.
* i2c: much more compact designH. Peter Anvin2008-12-281-50/+96
| | | | | | Mostly as an exercise in hardware optimization, recode the i2c generator for much smaller size. It is down from 76 to 43 LEs with the new design.