Introductie
Omdat er nog geen topic voor Shenzhen I/O, maar wel voor andere games zoals TIS-100 (TIS-100: The assembly game you never asked for) is het tijd voor een mooi Shenzhen topic. Dit spel gaat net als TIS-100 tijd kosten om te spelen en heeft een forse leercurve.Doelstelling
Waar TIS draait om assembly schrijven op meerdere cores om een probleem op te lossen draait Shenzhen om hardware en de firmware daarop. Dit spel heeft net als de andere spellen van Zachtronics een forse leercurve.Doel is een set inputs en outputs te matchen om zodoende een printje te bouwen dat een specifiek probleem oplost, zoals een reclamebord, een toongenerator etc.
Voorbeeld

Hier zie je zo'n printje, dit laat de outputs (5 stuks) in een bepaald patroon pulseren, wat gelijk staat aan de bewegingen van het reclamebord rechtsonderin.
De uitdaging
Sommige oplossingen kun je in software oplossen als je een microcontroller inzet, sommige problemen zijn net zo makkelijk met logicapoorten op te lossen. Hierbij is een microcontroller makkelijk maar ook duur.Duur? Jazeker, je oplossingen worden gerate op basis van Lines-of-Code (LoC), power consumptie en productiekosten.
Een uC is flexibel maar kost wel vel van alle drie. Meestal zie je dat het niet mogelijk is voor alledrie de eigenschappen een ideale fix te schrijven en zul je dus compromissen moeten sluiten.
Deze scores worden geupload, en de strijd kan losbarsten.
Updates, scores enzovoort.
Bij sommige updates worden de scores gereset. In het control panel kun je je scores opnieuw laten berekenen. Bij sommige puzzles wordt de spec iets anders en faalt je oplossing als je pech hebt. Kan gebeurenComponenten
De componenten die je kunt gebruiken zijn basic in/outputs zoals tellers, zoemers, lampjes, maar ook RAM/ROM geheugen, logicapoorten, multiplexers, en dus uCs.Standaard componenten
TODOObscure componenten
Componenten die je niet in elke puzzle gaat gebruiken.MC4010
Math coprocessor. 5 yuan.Kan wat complexere wiskunde dan je zelf met assembly zou willen.
D80C010-F
Veilige data opslag. Het doel is me nog niet bekend.KUJI-EK1
Vaag chinees ding voor mythologische toepassingen? Waarschijnlijk voor 1 specifiek level. 3 Yuan.Spoilers
Eerlijk gejat van andere auteur(s):[spoiler]
- Je kunt een input-only en een output-only device tegelijk koppelen aan een enkele XBus port van een uC. Reads en writes zullen dan altijd van/naar de juiste node gaan. Het moeten wel verschillende devices zijn, je kunt de RX en de TX ports van de Radio RX dus niet verbinden met een enkeke port, want dan klaagt ie dat de radio self-connected is.
- Je kunt meerdere processoren aan een enkele XBus laten sleepen met slx, ze worden allemaal tegelijk wakker als er een waarde beschikbaar komt. Een van de devices zal echter ook een read moeten doen om de waarde te consumen.
- Het lezen van p0/p1 zal hem converteren in een input en dus de actieve waarde op 0 zetten. Deze read zal tevens een 0 opleveren (op voorwaarde dat niemand anders de lijn hoog houdt). Dit kan behoorlijk voordelig zijn in bepaalde situaties
- Twee actieve simple outputs op dezelfde lijn resulteert in het maximum van de twee waardes. Je kunt op deze manier dus ook een logische OR implementeren
- Schrijven naar het adres-register van een RAM/ROM module resulteert in een modulo-14 van dat adres. Het schrijven van 100 activeert dus cel 2. Aangezien je deze waarde ook weer uit kunt lezen heb je dus een dedicated mod-14 chip
. Je kunt het tevens gebruiken als tijdelijke data storage, al onthoudt het natuurlijk alleen maar de mod-14 van je data
https://www.reddit.com/r/...sed_because_i_didnt_rtfm/
Links
Lovende reviews die aardig beeld geeft:https://www.rockpapershot...e-evaluation-shenzhen-io/
Todo
Wat meer op de verschillende componenten ingaanWat meer op de syntax ingaan
Overig
Waar lopen jullie tegenaan, naast slaaptekort en relatieproblemen door dit spel?[ Voor 45% gewijzigd door Boudewijn op 17-11-2016 15:33 ]