PDP-11

Programming for the PDP-11 and UKNC
User avatar
akuyou
Posts: 563
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: PDP-11

Post by akuyou » Thu Oct 24, 2019 11:55 am

Very kind of you.. I'll have another go at reading the translated UKNC documents over the weekend.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

User avatar
aberrant_hacker
Posts: 19
Joined: Fri Apr 26, 2019 6:37 am

Re: PDP-11

Post by aberrant_hacker » Mon Oct 28, 2019 9:32 pm

Here is link to the simple example with all the tools need to build ROM cartridge image.
Simply run a batch file and you'll get cartridge image.

It uses RT-11 emulator to run native MACRO-11 assembler and linker to build a Standard Save Image File (.SAV) which can be executed under the RT-11 operating system. And then converts it to the ROM cartridge image file.

I also attached a floppy disk image aku.dsk which includes my port of Chibi Akumas which only displays loading screen at the moment)) You can mount the floppy disk image, boot from the disk and "AKU.SAV" will be executed automatically.
Attachments
aku.dsk.7z
(118.25 KiB) Downloaded 392 times
boot_menu.png
boot_menu.png (7.23 KiB) Viewed 8092 times
Last edited by aberrant_hacker on Mon Oct 28, 2019 10:16 pm, edited 1 time in total.

User avatar
aberrant_hacker
Posts: 19
Joined: Fri Apr 26, 2019 6:37 am

Re: PDP-11

Post by aberrant_hacker » Mon Oct 28, 2019 9:43 pm

BTW, the example above uses indirect access to video ram which is rather slow but simple.
It is possible to use CPU ram as video ram but it more complicated since CPU has no access at all to the line parameters table(LPT).

User avatar
akuyou
Posts: 563
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: PDP-11

Post by akuyou » Tue Oct 29, 2019 10:05 pm

This is perfect! I can work with this just fine.

Thanks for your help!
UKNC test.jpg
UKNC test.jpg (13.24 KiB) Viewed 8083 times
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

User avatar
aberrant_hacker
Posts: 19
Joined: Fri Apr 26, 2019 6:37 am

Re: PDP-11

Post by aberrant_hacker » Thu Oct 31, 2019 4:09 pm

Glad I was able to help :)
CPU has another limitation - it has no access to bitplane 0 ("blue"). So I modified the example a bit to make the background black.
It sets the resolution to 320 dots per line instead of 640, as well. (without changing addresses of each line in the LPT, so there is a gap in 40 bytes between each line).

btw, I not receiving notifications from the forum. I turned on all the notification on User Control Panel -> Board Preferences -> Edit notification options.
But it didn't help :(
Attachments
MAIN.MAC.zip
(1.44 KiB) Downloaded 393 times

User avatar
aberrant_hacker
Posts: 19
Joined: Fri Apr 26, 2019 6:37 am

Re: PDP-11

Post by aberrant_hacker » Thu Nov 07, 2019 9:38 pm

Here is link to MACRO-11 Reference manual.
VT52 manual
And here is manual which describes how to work with external devices - terminal emulator, PPU, etc.

It's very late in Moscow :) I'll prepare code examples tomorrow.

User avatar
akuyou
Posts: 563
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: PDP-11

Post by akuyou » Thu Nov 07, 2019 11:06 pm

Thanks for all your help with this... I'm sure you're saving me weeks of work here - I'd be fumbling around for days figuring this stuff out!
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

User avatar
aberrant_hacker
Posts: 19
Joined: Fri Apr 26, 2019 6:37 am

Re: PDP-11

Post by aberrant_hacker » Sun Nov 10, 2019 3:15 am

It took me a while to contrive some examples. In the end, I modified the memory copy test I wrote a year ago. In the example, a code block is sent to PPU to create a new "lines parameters table" to modify colors and line scale.

BTW, new version of UKNCBTL was released. Now you can run the emulator with /bootN (N is boot menu number) and it will automatically start booting. For example UKNCBTL.exe/boot2 will start booting from ROM cartridge.
Also, I modified the last version executable to replace text in the boot menu from Russian to English.

P.S. I discovered that you can use udl command in the emulator's debugger to save the "line parameters table" to disk for study and debug.

User avatar
aberrant_hacker
Posts: 19
Joined: Fri Apr 26, 2019 6:37 am

Re: PDP-11

Post by aberrant_hacker » Sun Nov 10, 2019 1:56 pm

I'm sorry Keth. I found that it is difficult and time-consuming for me to translate the documentation (I tend to overthink and procrastinate too much in the process)))
It would be much easier if I leave detailed comments it the code I currently write. For example, I described "line parameters table" (but I named it scan-lines table SLTAB initially) in PPU module for ChibiAkumas port.

And of course, I'll be happy to answer any question or to participate in another live stream dedicated to PDP-11 ;)

User avatar
akuyou
Posts: 563
Joined: Mon Apr 22, 2019 3:19 am
Contact:

Re: PDP-11

Post by akuyou » Mon Nov 11, 2019 4:00 am

Fantastic work! I'll be taking a look at this over the week, and trying to get an understanding of it!

I'm hoping to do some more PDP-11 on my friday livestream, so hopefully I can make some more progress thanks to your help here.
Chibi Akuma(s) Comedy-Horror 8-bit Bullet Hell shooter! // 「チビ悪魔」可笑しいゴシックSTG ! // Work in Progress: ChibiAliens

Interested in CPU's :Z80,6502,68000,6809,ARM,8086,RISC-V
Learning: 65816,ARM,8086,6809

Post Reply

Return to “PDP-11 Assembly Programming”