Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
-homebrew/linux4004.cpp: Emulated Linux/4004 board.
* VFD is not emulated, but all other features are present. -machine/sc16is741.cpp: Emulated basic SC16IS741A UART functionality in SPI interface mode. -macine/spi_sdcard.cpp: Improved interface logic: * Start in unprotected mode as specified by the standard. * Ignore stop bits in unprotected mode - apparenty real cards do this. * Set protected or unprotected mode in response to CMD59. * Reset SPI logic when initially selected. -machine/spi_psram.cpp: Started adding PSRAM QPI functionality. -emu/diserial.cpp: Got rid of the per-instance parity lookup table. New working systems ------------------- Dmitry Grinberg Linux/4004 New working software list items (lnux4004.xml) ---------------------------------------------- uMIPS Linux 4.4.292+
- Loading branch information
aeaf19f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This system is sure to teach you patience. Remember video is a bottleneck in MAME, so if you want to maximise the speed it runs at, use options something like:
With a non-debug build, you can get over 3000% speed (thirty times speed) on a fairly modest notebook computer, so it doesn’t take days to boot.
Keep in mind that when running unthrottled, the emulated terminal’s key repeat (“typematic”) will run at an insane rate, so when you want to actually type a command, you should hit F10 to throttle to normal speed, type the command, then hit F10 to turn throttling off again and watch it slowly echo and run the command. The UART has a 64-byte FIFO, so you can get a few short commands in without having to wait for it to catch up.
You can also use the
null_modem
emulated serial device and connect to it with a socket to avoid the issues with the emulated terminal running fast.It’s configured with 12 MiB of RAM for the emulated MIPS system (8 MiB plus 4 MiB). Changing this requires editing the source and recompiling. Changing the number of 4002 chips installed for the MIPS TLB can be done from the Machine Configuration settings, and takes effect on reset (you can also add an extra 4002 at 01:c0-ff which the firmware won’t use, but you might want it if you’re writing your own firmware).
If you’re looking at the contents of MIPS RAM in the debugger (“Generic SPI/QPI Pseudo-SRAM/:u5/0/m_ram” and “Generic SPI/QPI Pseudo-SRAM/:u6/0/m_ram”), be aware that data is stored in little Endian byte order with nybbles swapped (e.g the word value 0x012345678 will be stored as
87 65 43 21
). This is because the 4004 works in nybbles and the SPI RAM transfers bytes MSB-first. The 4004 transfers a word one nybble at a time, from least significant to most significant. Each pair of nybbles occupies one byte in RAM. Since the least significant nybble in each pair is transferred first, it occupies the most significant nybble of the byte in RAM.aeaf19f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Obligatory screenshot:
![Image](https://private-user-images.githubusercontent.com/9678431/373689228-5a6b1f7a-bf6e-44d5-8dff-9d269dea3d92.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDk0OTEsIm5iZiI6MTczOTAwOTE5MSwicGF0aCI6Ii85Njc4NDMxLzM3MzY4OTIyOC01YTZiMWY3YS1iZjZlLTQ0ZDUtOGRmZi05ZDI2OWRlYTNkOTIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMDhUMTAwNjMxWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NmUwMzQzN2JiY2IyZWQ1ZjkxZDA5YjliZGQ5MTUzYzJiZmFhNjcyNWVhMTQyOGE4MjBmNDE2YTU0NzJjMzY1MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.x97JLWvuiJf0qWKXjsvJypDVGar0XRv2cFc9-hoCZHw)