1) SD카드에 라즈베리 파이 OS 설치 - Raspberry Pi Imager 사용 - OS 버전은 32비트 Bullseye Legacy 를 사용
2) 설치 및 업데이트를 모두 해준다
3) PICO-8을 다운로드한 뒤 압축을 풀어서 나오는 pico-8 폴더를 라즈베리 파이의 /home/pi 안에 넣는다 미리 압축이 풀린 파일을 복사하면 실행이 안되므로 주의. 반드시 ZIP 파일을 다운로드한 뒤 라즈베리 파이에서 압축을 풀어줘야 한다 (Permession Denied 에러 발생)
4) 라즈베리 파이의 설정을 열어 부팅 모드를 텍스트모드로 바꿔준다 (To CLI)
5) 자동 로그인을 설정해준다
6) 터미널을 열고 sudo nano /home/pi/.bashrc 를 실행한다
7) 마지막 줄에 sudo /home/pi/pico-8/./pico8_dyn -splore 를 입력한뒤 저장하고 종료한다
8) nano /boot/cmdline.txt 한 뒤 라인 끝에 다음 내용을 추가한다. consoleblank=1 logo.nologo quiet loglevel=0 plymouth.enable=0 vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fastboot noatime nodiratime noram
9) 버튼 입력을 만들기 위해 여러가지를 알아 보았으나 GPIO를 통해 직접 버튼 입력을 받는 것은 어려웠고 실제로 GPIO로 입력받는 데에 성공해도 그것을 PICO-8에서 인식되도록 하는 것이 거의 불가능하다는 결론에 다다름. 실제 제작사례도 대부분 조이패드 모듈이나 HAT을 장착해서 사용하는 경우 아니면 Retropie 등을 이용해서 인식하는 것이었는데 모듈은 사용하고 싶지 않았고 Retropie는 변함없이 너무 불안정하고 구린데다 결정적으로 라즈 2W에서 wifi가 먹통이 되어버리는 버그 때문에 사용 불가. 결과적으로 라즈 피코를 이용해서 USB 키보드를 만들어 붙이자(...)는 쪽으로 결론이 남.
BASIC 탑재 컬러 TV 게임 시스템 「MachiKania」(마치카니아)의 완성으로부터 정확히 반년이 지나, 상위 기종인 「MachiKania type Z」가 완성되었습니다.
기존에 비해 메모리 용량이 2배인 마이크로컴퓨터 칩을 사용하여, BASIC에서 컬러 그래픽이나 부동 소수점 연산을 취급할 수 있게 되었습니다. 이제 BASIC으로 만들 수 있는 프로그램의 응용 범위가 크게 넓어집니다. BASIC의 구문 자체도 재검토해, 구조화 프로그래밍 대응으로 더욱 편리하게 프로그램을 작성할 수 있게 되었습니다.
・256×224도트, 16색 동시 표시 가능한 컬러 그래픽에 대응한 BASIC 시스템을 탑재 ・32비트 단정밀도의 부동 소수점 연산을 지원, 각종 수학 함수를 실장. ・서브루틴 내의 로컬변수나, 여러 줄에 걸친 IF~THEN 구조, WHILE~LOOP 구조의 서포트, 인수나 반환값 첨부 서브 루틴 등, 구조화 프로그래밍에 빠뜨릴 수 없는 명령을 다수 추가. 이것에 의해, GOTO문을 거의 사용하지 않는 프로그램 작성을 실현・다차원 배열에 대응・대용량 메모리 탑재로 보다 대규모의 BASIC 프로그램을 작성 가능 ・SD 카드의 서브 디렉토리 작성과 서브 디렉토리에의 보존, 읽기에 대응(Ver 1.02 이후) ・가로 40문자 표시모드의 추가 (Ver 1.02 이후) · ・BASIC 프로그램에서 SD 카드의 파일에 액세스 가능 (Ver 1.04 이후) ・영문/숫자로 최대 6문자까지의 변수명을 사용 가능 (Ver 1.2 이후) ・오브젝트 지향 프로그래밍에 의해 라이브러리를 이용할 수 있습니다. (Ver 1.2 이후)
탑재하고 있는 BASIC KM-1200은 종래 버전과 호환성이 있어, 종래 프로그램은 그대로 실행시킬 수 있습니다.
또, 초대 MachiKania에서 가능한 이하의 내용도 그대로 계승하고 있습니다.
・TV에 연결해 전원을 넣으면 곧바로 게임이 시작됩니다. ・키보드를 연결하면 BASIC 언어로 오리지널 게임을 만들 수 있습니다. ・컬러 표시 대응이므로, 화려한 게임을 만들 수 있습니다. ・자신의 오리지널 캐릭터를 사용한 게임을 만들 수 있습니다. ・BASIC의 실행은 매우 고속이므로, 본격적인 게임을 만들 수 있습니다. ・만든 게임은 SD 카드에 저장할 수 있습니다. ・SD 카드를 사용하여 컴퓨터에서 프로그램을 복사할 수 있습니다. ・하드웨어도 소프트웨어도 공개되어 있으므로, 모두 스스로 제작할 수 있습니다.
★MachiKania type Z를 만드는 방법
MachiKania type Z의 제작 방법과 기본적인 조작 방법은, 초대 MachiKania와 완전히 같습니다.그러므로, 자세한 것은 이쪽 페이지의 「MachiKania 만드는 방법」부터 우선 읽어 주세요.
대략적인 제작 순서는 다음과 같습니다.
1. 하드웨어 제작 2. 마이크로 컴퓨터에 부트 로더 프로그램 쓰기 3. SD 카드에 필요한 파일 복사
이미 초대 MachiKania를 만든 경우, 1단계에서는 마이크로 컴퓨터 칩의 교체만 합니다(IC 소켓을 사용하고 있는 편이 좋다). 또한 초대 MachiKania를 PIC32MX170F256B로 움직이는 경우 3단계 작업만 해주면 MachiKania type Z를 도입할 수 있습니다.
Raspberry Pi를 이용해 PIC의 플래시 메모리에 펌웨어를 기록하는 방법
Raspberry Pi가 있으면 PICkit3 등이 없어도 Pickle이라는 프리 소프트웨어를 사용하여 PIC에 쓸 수 있습니다. 위 회로도에서 PICkit3에서 연결되는 3개의 핀에 저항 3개를 끼우고 Raspberry Pi로 바꿉니다. 또한 전원도 Raspberry Pi에서 가져올 수 있습니다. 이하에 간단한 설명을 기재했습니다.
9) PIC의 기판 상에 ICSP로써 6핀의 단자가 있는 경우에는 아래와 같은 접속 형태가 된다.
ICSP
1 MCLR
2 VDD
3 GND
4 PGEDx
5 PGECx
6 -
10) PIC32의 VCAP핀에 붙이는 10uF 콘덴서는 필수.
MachiKania의 기판 등에 콘덴서가 납땜되어 있는 경우는 그대로 써도 문제 없습니다.
11) 연결이 다 되었다면 라즈베리파이에서 아래 명령을 실행한다(HEX파일명이 xxx.hex인 경우)
p32 program xxx.hex
p32 verify xxx.hex
기록되는 동안은 아무것도 표시되지 않으므로 끝날 때까지 기다립니다.
---
이하는 왜 제대로 기록되지 않는 경우가 있었는지에 대한 고찰이므로 꼭 읽어야 하는 내용은 아닙니다.
* Verify에서 문제없이 기록되었는데도 제대로 작동하지 않는 경우
PICkit3 등의 장비로 기록하면 문제없이 동작하는 HEX파일이, 왜인지 Pickle로 기록하면 Verify해도 정상적으로 기록되지 않는 경우가 있는 것이 판명되었습니다.
PIC32의 CONFIGURATION 비트의 DEVCFG0의 제 1:0비트(DEBUG비트)가, 보통 "3"(11b)이 아니라면 동작하지 않지만, 소스 프로그램의 기록 방법에 따라서 "2"(10b)가 되어 버리는 경우가 있는 것 같습니다. 문제는 PICkit3등 Microchip사의 기록 툴에서는 이것을 자동적으로 "3"으로 바꿔서 기록하기 때문에 유저는 눈치채지 못합니다.
대책으로써는 소스 프로그램의 CONFIG설정을 아래와 같이 변경하여 빌드하는 방법이 있습니다.
LCD TV에서 복고풍 게임의 모습을 개선하려면 Scanlines를 사용해 볼 수 있습니다. 그것들을 설명할 수 있는 것은 제가 할 수 있는 일이 아니며 웹에는 이미 완벽한 가이드가 있습니다.
다른 스케일러에 대해 배웠을 때 스캔라인에 대해 알게 되었고 , 그런 다음 SLG3000이라는 스캔라인 생성기를 구입하여 VGA 신호에 스캔라인을 추가하고 변경할 수 있다는 것을 알게 되었습니다. SLG3000이 출시된 이후 몇 가지 다른 흥미로운 제품이 출시되었습니다.
그런 다음 GamesX 덕분에 나만의 VGA 스캔라인 생성기를 만들 수 있음을 보여주는 이 페이지를 찾았습니다 . 홀수 또는 짝수 스캔라인만 선택할 수 있기 때문에 SLG3000보다 훨씬 더 기본적이지만 확실히 인상적이며 만드는 데 몇 파운드 밖에 들지 않습니다. 원래 게시물은 74LS74 및 74LS125를 사용하는 것을 보여 주며 74HC74 및 74HC125도 사용했습니다.
시간과 부품을 절약하기 위해 프로토타이핑 브레드보드를 구해야 합니다! 하지만 이것은 제가 만든 프로토타입이었습니다.
보드에서 나오는 전선의 끝에 있는 VGA 소켓을 볼 수 없지만 암수 VGA 커넥터가 있고 서로 연결되어 있으며 보드의 +5v, GND, R, G, B, H 및 V 신호가 VGA 커넥터 중 하나(어느 것이든 상관 없음)의 관련 핀에 연결됩니다.
위에 링크된 포럼 게시물이나 웹사이트에서 다이어그램이 사라지는 경우를 대비하여 여기에 사본이 있습니다.
..그리고 여기 이것을 연결하는 방법에 대한 내 낙서가 있습니다. 이번에는 veroboard를 사용하지 않고 Matrix 보드를 사용했습니다.
위의 다이어그램을 그릴 때 VGA 장치 중 하나에 5v가 있는 별도의 전원 핀(VGA 9)을 사용했지만 다른 하나는 연결되지 않았으므로 안정적인 전원 공급원이 아닙니다. 나는 수직동기화 신호를 전원으로 사용할 수 있다는 것을 읽었고, 이것을 시도해 보았고 작동했기 때문에 74HC74 칩의 핀 1과 14를 연결할 수 있었습니다.
이것을 다른 것에 통합하는 경우 항상 별도의 PSU를 사용할 수 있습니다.
이에 대한 전체 단계별 가이드를 수행할 시간이 없는 것 같습니다. 하지만 위의 다이어그램, 아래의 사진 및 내가 작성한 모든 메모가 도움이 되기를 바랍니다. :-) 디자인은 9 x 10 구멍의 매트릭스 보드 조각에 편안하게 맞을 수 있습니다.
다음 사진은 동시에 두 개의 보드를 만드는 모습을 보여 주며 진행하면서 보드의 양면을 보여줍니다.
칩을 제자리에 납땜하는 것으로 시작했습니다. 74 칩은 사진의 상단에 있고 125 칩은 하단에 있습니다. 그런 다음 GND 및 전원에 대한 링크를 납땜하십시오. 나는 저항, LED 등에서 이전에 잘라낸 다리 부분을 사용합니다. 와이어 또는 손에 필요한 모든 것을 사용할 수 있습니다. 링크와 관련 칩 레그 사이의 간격을 연결하는 것을 잊지 마십시오. 두 지점을 가열하고 약간의 추가 납땜을 추가하면 간격을 채울 것입니다.
이제 나는 보드 밑면에 더 많은 포인트를 연결하기 위해 더 오래된 저항 다리 위에 남은 것을 사용했습니다.
이제 몇 개의 링크가 더 있습니다. 이번에는 Kynar 와이어를 벗겨내고 구부리고 납땜했습니다.
이제 RGB 와이어가 제자리에 납땜되었습니다. 땜납 얼룩이 있는 칩 레그에 와이어를 연결하는 것을 잊지 마십시오(두 번째 사진에서 링크를 강조 표시했습니다).
그런 다음 수평 및 수직 동기화 와이어
여기 내 스위치가 연결되어 있습니다. 와이어는 IDE 케이블에서 가져온 것입니다. 작업을 간단하게 유지하기 위해 스위치 중간에 빨간색 와이어를 사용했습니다.
거의 다 왔어, 이제 힘이야. 두 가지 옵션이 있습니다. 외부 소스(사진 오른쪽)에서 전원을 얻거나 수직 동기화에서 전원을 얻습니다(VGA 장치에 따라 작동하거나 작동하지 않을 수 있습니다. LS 칩은 더 낮은 전압에서 작동할 수 있다고 생각 합니다 )
다음은 내 RGBS-VGA 스케일러(GBS-8220) 밑면에 붙어 있는 보드 중 하나입니다.
또한 프로토타입 보드를 프로젝트 상자에 넣었습니다. 이것이 작동하려면 멋지고 짧은 VGA 확장이 필요했습니다. 그래서 올바른 길이로 하나를 납땜했습니다.
제가 납땜한 짧은 VGA 확장 케이블입니다(R, G, B, H, V 및 GND가 연결되고 모든 GND가 VGA 소켓에 함께 연결된 다음 단일 와이어를 사용하여 남성 및 여성 커넥터의 GND에 연결됨).
그런 다음 회로 기판의 신호에 연결하면 수컷 또는 암컷 커넥터에 연결하는 것이 중요하지 않으며 원하는 경우 둘 사이에서 분리할 수도 있습니다.
그것은 상자 내부가 완성된 것입니다. 오른쪽 상단으로 가는 검은색과 빨간색 전선은 상자에 전원이 공급되는지 여부를 표시하는 LED의 전원입니다. 이 전선은 칩의 전원 및 접지 공급 장치로 연결됩니다.
내가 사용한 링크는 일반적으로 저항, LED 등을 잘라낸 다리로, 이와 같은 프로젝트에 매우 유용합니다.
전원선에 추가하기만 하면 On/Off 스위치를 쉽게 추가할 수 있습니다. 실제로 On-Off-On 스위치가 있는 경우 On-On 스위치 대신에 놓고 정확히 동일하게 연결하면 홀수 스캔라인, 스캔라인 없음, 짝수 스캔라인의 3가지 옵션을 얻을 수 있습니다!
Dreamcast VGA 박스 , GBS-8220 예산 RGBS 에서 VGA 스케일러로 가는 작은 보드에 이것을 추가하는 것은 매우 쉽습니다 (가이드를 전송하고 업데이트할 때 몇 가지 링크를 추가하겠습니다 – PG).
더 작은 프로젝트 상자에 맞추기 위해 작은 조각의 스트립 보드에 짜내고 다리와 동일한 구멍을 통해 와이어를 찔러 구멍의 과도한 행/열을 제거할 수 있습니다.
주사선 폭
스캔라인의 너비를 변경하는 방법을 공유한 Toodles(및 부트섹터)에게 감사합니다( 내 생각에 이 긴 스레드에 있습니다. 포스트 329 정도입니다 ). 640 x 480보다 높은 해상도에서 실행하는 경우 탁월합니다(저는 1024 x 768에서 사용하고 있습니다). 나는 이것을 내 VGA 스케일러의 SLG에 추가했고, 너무 많이 떼어내고 싶지 않았기 때문에 가능한 한 적게 변경했습니다. 다음은 차이점을 보여주기 위해 만든 다이어그램입니다.
다음은 1024×768에서 실행되는 MOTW를 보여주는 두 개의 스크린샷입니다. 첫 번째는 좁은 주사선을 보여주고 두 번째는 넓은 주사선을 보여줍니다. 사진에서는 너무 크게 보일 수 있지만 내 TV에서 뒤로 물러나면 훨씬 좋아 보입니다. 이 해상도의 원래 좁은 주사선은 너무 좁습니다. 하지만, 개인의 취향에 따라 결정될 것 같아요!
새로운 다이어그램 및 옵션
다음 다이어그램에서 빨간색으로 표시된 다리는 전원(3.3v ~ 약 5v)이 필요한 다리이고 검은색으로 표시된 다리는 GND를 바라보는 다리입니다.
확대를 보려면 각 다이어그램을 클릭하십시오. 각 옵션에 대해 두 개의 다이어그램이 있습니다. 보드의 윗면과 납땜 면입니다. 이렇게 하면 조립이 더 쉬워집니다!
매우 기본 옵션
가장 기본 - 윗면
가장 기본적인 – 솔더 사이드
홀수/짝수 스캔라인 옵션 스위치
홀수 또는 짝수 스캔라인 스위치 - 상단
홀수 또는 짝수 스캔라인 스위치 - 솔더 사이드
홀수/짝수 및 너비 옵션
폭 스위치 장착 – 상단
DIY-SLG-Dia_0141 폭 스위치 장착 – 솔더 측 홀수/짝수, 너비 및 해상도 옵션 SLG가 800×600 해상도에서 작동하려면 수직 동기화가 반전되어야 합니다.
800×600 호환성 – 상단
800×600 호환성 – 솔더 사이드
아래는 위의 다이어그램을 테스트하기 위해 하나를 만들었을 때 더 많은 사진입니다. 링크 와이어 중 하나를 놓쳐서 사진에 그렸습니다!
주사선 강도
기성 솔루션 중 일부에는 스캔라인의 강도를 조정하는 전위차계가 포함됩니다. 시험해보고 싶다면 포함하는 방법을 보여주기 위해 여기에 몇 가지 다이어그램을 추가하겠습니다.
또는 74LS125 칩의 R, G 및 B 출력에 일부 저항을 사용해 볼 수 있습니다. 75옴은 내 TV에서 좋아 보입니다.
필요한 구성 요소 요약
1 x 74HC74 칩 1 x 74HC125 칩 전선, 매트릭스 보드 1개(또는 옵션에 따라 그 이상) x 켜기/끄기 스위치(또는 켜기/끄기/켜기 스위치)
더 많은 참고 사항!
RetroVGA는 친절하게 제품에 대한 Eagle 파일을 제공하므로 제품이 어떻게 구성되어 있는지 정확히 볼 수 있으며 보드를 제작하고 직접 만들 수도 있습니다.
이후 GamesX의 원래 게시물은 ScanLine Generator의 작동 방식에 대한 설명으로 업데이트되었으며, 또한 bigsanta는 74ls74 칩의 사용하지 않는 입력을 접지에 연결하고 부동 상태로 두지 않는 것이 좋습니다.
ニユ-マン이 GamesX에 작성함:
74LS74는 HSync 펄스마다 상태를 변경하므로 한 라인은 건드리지 않고 다음 라인은 공백이 됩니다(또는 그 반대). 스위치는 블랭킹 회로(74LS125)가 짝수 또는 홀수 라인을 지워야 하는지 여부를 선택합니다. 74LS125가 활성화되면 RGB 라인이 접지되고 검은색 라인이 표시됩니다.