Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай PS1 Programming with MIPS Assembly & C, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:12:19
    Starting our Journey
  2. Урок 2. 00:02:59
    How to Take this Course
  3. Урок 3. 00:10:50
    Placing the PlayStation in History
  4. Урок 4. 00:14:10
    PS1 Hardware Overview
  5. Урок 5. 00:09:54
    The MIPS CPU
  6. Урок 6. 00:07:41
    Memory & Endianness
  7. Урок 7. 00:12:13
    Memory Map
  8. Урок 8. 00:15:53
    CPU Registers & Load Instructions
  9. Урок 9. 00:07:11
    Store, Add, & Subtract Instructions
  10. Урок 10. 00:07:03
    Jump & Branch Instructions
  11. Урок 11. 00:02:47
    Exercise: Our First MIPS Code
  12. Урок 12. 00:05:11
    Going Over Our First MIPS Code
  13. Урок 13. 00:06:38
    Installing the ARMIPS Assembler
  14. Урок 14. 00:04:09
    Assembling our MIPS Code
  15. Урок 15. 00:04:43
    PSX-EXE File Format
  16. Урок 16. 00:08:03
    Emulator & Step-By-Step Execution
  17. Урок 17. 00:03:05
    Fixing Off-By-One Error
  18. Урок 18. 00:07:53
    Pseudo-Instructions
  19. Урок 19. 00:11:00
    The MIPS Pipeline
  20. Урок 20. 00:06:57
    Some Warm Up Exercises
  21. Урок 21. 00:15:08
    Solving our Warm Up Exercises
  22. Урок 22. 00:04:57
    Register Shorthand
  23. Урок 23. 00:05:40
    Factorial Exercise
  24. Урок 24. 00:08:57
    Solving our Factorial Exercise
  25. Урок 25. 00:10:54
    Factorial Subroutine
  26. Урок 26. 00:11:45
    Negative Numbers
  27. Урок 27. 00:06:24
    Sign Extension
  28. Урок 28. 00:06:07
    Logical Instructions
  29. Урок 29. 00:09:30
    Bitshifting Instructions
  30. Урок 30. 00:06:46
    Examples of CISC & RISC Machines
  31. Урок 31. 00:15:46
    CISC vs RISC Instructions
  32. Урок 32. 00:16:42
    The PlayStation Graphics System
  33. Урок 33. 00:05:10
    Drawing Primitives
  34. Урок 34. 00:11:30
    GPU Packets
  35. Урок 35. 00:19:03
    Sending Display Control Packets to GP1
  36. Урок 36. 00:07:01
    Sending VRAM Access Packets to GP0
  37. Урок 37. 00:06:35
    Clear Display Area
  38. Урок 38. 00:04:35
    Drawing a Flat-Shaded Triangle
  39. Урок 39. 00:02:39
    Drawing a Flat-Shaded Quad
  40. Урок 40. 00:01:54
    Drawing a Gouraud-Shaded Triangle
  41. Урок 41. 00:13:08
    Flat-Shaded Triangle Subroutine
  42. Урок 42. 00:04:36
    Coding our Flat Triangle Subroutine
  43. Урок 43. 00:11:17
    Stack & Stack Pointer
  44. Урок 44. 00:07:24
    Stack Parameters
  45. Урок 45. 00:05:16
    Stack & Heap Space
  46. Урок 46. 00:07:38
    Variables
  47. Урок 47. 00:06:20
    Variable Alignment
  48. Урок 48. 00:13:32
    Vector Alignment
  49. Урок 49. 00:24:40
    Copying Image Data to VRAM
  50. Урок 50. 00:06:57
    Using Bitshifting to Multiply & Divide
  51. Урок 51. 00:14:38
    24BPP Display Mode
  52. Урок 52. 00:06:33
    Taking Advantage of our Delay Slots
  53. Урок 53. 00:05:37
    Moving from MIPS Assembly to C
  54. Урок 54. 00:14:17
    Installing Tools on Windows 11
  55. Урок 55. 00:19:31
    Installing Tools on Windows XP
  56. Урок 56. 00:12:38
    Compiling a Simple Psy-Q Project
  57. Урок 57. 00:28:44
    Double-Buffer Screen
  58. Урок 58. 00:04:10
    Psy-Q Integer Data Types
  59. Урок 59. 00:07:30
    Psy-Q Primitive Types
  60. Урок 60. 00:17:27
    Ordering Table & Primitive Buffer
  61. Урок 61. 00:15:13
    Sorting Primitives into the OT
  62. Урок 62. 00:05:47
    Sorting a Gouraud Quad into the OT
  63. Урок 63. 00:12:14
    A Review of Pointers
  64. Урок 64. 00:11:38
    The Arrow Operator
  65. Урок 65. 00:15:39
    A Review of 3D Projection
  66. Урок 66. 00:12:24
    Vertices & Face Indices
  67. Урок 67. 00:07:11
    The Geometry Transformation Engine
  68. Урок 68. 00:10:05
    Basic 3D Transformations
  69. Урок 69. 00:15:21
    RotTransPers Function
  70. Урок 70. 00:14:27
    Coding a Rotating 3D Cube
  71. Урок 71. 00:06:33
    Normal Clip
  72. Урок 72. 00:03:12
    Coding Quads as Cube Faces
  73. Урок 73. 00:15:10
    Reviewing Floating-Point Numbers
  74. Урок 74. 00:15:28
    Fixed-Point Numbers
  75. Урок 75. 00:10:52
    Implementing a Bouncing Cube
  76. Урок 76. 00:16:11
    Different Transform Matrix per Object
  77. Урок 77. 00:02:50
    Wait, Can I use Floats?
  78. Урок 78. 00:10:25
    GTE Register Set
  79. Урок 79. 00:15:19
    Inline GTE Instructions
  80. Урок 80. 00:08:36
    RTPT vs. RTPS
  81. Урок 81. 00:17:36
    Reading Joypad State
  82. Урок 82. 00:17:05
    Joypad Input with BIOS Functions
  83. Урок 83. 00:22:16
    Joypad Header & Implementation
  84. Урок 84. 00:25:41
    Header File for OT & Primitive Buffer
  85. Урок 85. 00:06:04
    Header File for Display Routines
  86. Урок 86. 00:10:51
    Camera Space
  87. Урок 87. 00:15:23
    The Look-At Transformation
  88. Урок 88. 00:16:21
    The LookAt Function
  89. Урок 89. 00:20:58
    Coding the Look-At Camera Model
  90. Урок 90. 00:21:32
    CD-ROM Basics
  91. Урок 91. 00:14:35
    Generating an ISO on Windows XP
  92. Урок 92. 00:09:19
    Generating an ISO on Windows 11
  93. Урок 93. 00:21:07
    A Function to Read Files from the CD
  94. Урок 94. 00:07:07
    Understanding the MODEL.BIN File
  95. Урок 95. 00:08:23
    Dynamically Allocating Buffers
  96. Урок 96. 00:07:06
    Heap Initialization on Windows 11
  97. Урок 97. 00:15:03
    Interpreting Bytes as Numbers
  98. Урок 98. 00:09:40
    Handling Different Order of Bytes
  99. Урок 99. 00:13:20
    Reading Vertices & Faces from a File
  100. Урок 100. 00:17:28
    UV Coordinates, TPAGE, & CLUT
  101. Урок 101. 00:03:18
    Installing TIM Tool
  102. Урок 102. 00:10:39
    TIM File Format
  103. Урок 103. 00:19:42
    Read TIM File from the CD
  104. Урок 104. 00:17:44
    Textured Cube Faces
  105. Урок 105. 00:12:24
    Wobbly Textures
  106. Урок 106. 00:02:54
    Polygon Jitter
  107. Урок 107. 00:08:33
    Dev Tools CD Samples
  108. Урок 108. 00:09:04
    Intro to our Final Project
  109. Урок 109. 00:03:54
    Importing Project Assets
  110. Урок 110. 00:13:38
    PRM File Layout
  111. Урок 111. 00:14:35
    Reading Object Name from PRM File
  112. Урок 112. 00:10:27
    Reading Vertices from PRM File
  113. Урок 113. 00:22:50
    Handling Different Primitive Types
  114. Урок 114. 00:13:23
    Reading Primitives from PRM File
  115. Урок 115. 00:24:45
    Drawing Flat-Shaded Object Faces
  116. Урок 116. 00:03:00
    Using sizeof with Variable Name
  117. Урок 117. 00:11:01
    CMP File Layout
  118. Урок 118. 00:06:51
    Reading Number of Textures from File
  119. Урок 119. 00:12:32
    Reading TIM Sizes from File
  120. Урок 120. 00:10:47
    A Function to Extract LZSS Data
  121. Урок 121. 00:15:12
    Texture Structs
  122. Урок 122. 00:18:59
    Uploading CMP Textures to VRAM
  123. Урок 123. 00:13:51
    Global Texture Store Array
  124. Урок 124. 00:06:44
    Rendering Textured Triangles
  125. Урок 125. 00:06:56
    Visualizing Textured 3D Objects
  126. Урок 126. 00:11:40
    Loading Multiple CMP Files
  127. Урок 127. 00:08:48
    Exercise: Linked List of Objects
  128. Урок 128. 00:14:36
    Linked List Implementation
  129. Урок 129. 00:02:33
    Joypad Press & Release
  130. Урок 130. 00:20:30
    Reading Scene Objects from CD
  131. Урок 131. 00:11:15
    Camera-Object Distance Check
  132. Урок 132. 00:08:10
    Drawing Scene Objects
  133. Урок 133. 00:14:31
    Track Sections & Faces
  134. Урок 134. 00:07:48
    Structs for Sessions & Faces
  135. Урок 135. 00:20:46
    Reading Vertices, Faces, & Sections
  136. Урок 136. 00:22:59
    Function to Render Track Sections
  137. Урок 137. 00:15:24
    Shrinking Track Vertices
  138. Урок 138. 00:06:46
    Exercise: Testing Face Flags
  139. Урок 139. 00:05:39
    Drawing Quad Lines
  140. Урок 140. 00:11:47
    Avoiding the GTE 16-bit Limitation
  141. Урок 141. 00:18:20
    Clamping Overflow Values
  142. Урок 142. 00:24:24
    Loading Track Texture Tiles
  143. Урок 143. 00:15:08
    Manually Position Textures in VRAM
  144. Урок 144. 00:10:12
    Loading Track Face UV Coords
  145. Урок 145. 00:05:10
    Flip Face Texture
  146. Урок 146. 00:13:14
    Tessellation & Polygon Subdivision
  147. Урок 147. 00:12:35
    Drawing Quads Recursively
  148. Урок 148. 00:15:29
    A Function to Draw Quads Recursively
  149. Урок 149. 00:09:33
    Subdividing UV Coordinates
  150. Урок 150. 00:13:03
    T-junctions
  151. Урок 151. 00:08:02
    Ship Struct
  152. Урок 152. 00:03:58
    Adding the Ship Header File
  153. Урок 153. 00:08:04
    Movement in Game Physics
  154. Урок 154. 00:19:02
    Changing the Thrust Magnitude
  155. Урок 155. 00:16:08
    Applying the Thrust Force
  156. Урок 156. 00:09:47
    Yaw, Pitch, & Roll
  157. Урок 157. 00:15:59
    Populating our Rotation Matrix
  158. Урок 158. 00:14:27
    Coding the Object's Orientation
  159. Урок 159. 00:06:15
    Drawing XYZ Axis
  160. Урок 160. 00:10:32
    Accelerating in the Nose's Direction
  161. Урок 161. 00:07:53
    Placing Camera Behind the Ship
  162. Урок 162. 00:19:20
    Yaw Velocity
  163. Урок 163. 00:05:45
    Maximum Yaw Velocity
  164. Урок 164. 00:11:01
    Roll Left & Right
  165. Урок 165. 00:09:33
    Rethinking Section Rendering
  166. Урок 166. 00:11:58
    Initializing Ship's Nearest Section
  167. Урок 167. 00:07:44
    Update Ship's Nearest Section
  168. Урок 168. 00:10:52
    Rendering Track Ahead
  169. Урок 169. 00:03:24
    Clamping Track Vertices to 16 bits
  170. Урок 170. 00:10:00
    Loading Track Session Normals
  171. Урок 171. 00:07:17
    Drawing Section Normals
  172. Урок 172. 00:10:02
    Loading the Section Base Vertex
  173. Урок 173. 00:10:20
    Projected Ship Height
  174. Урок 174. 00:09:46
    Coding the Projected Ship Height
  175. Урок 175. 00:08:20
    Track Attraction & Repulsion Forces
  176. Урок 176. 00:04:01
    Preventing Negative Height Values
  177. Урок 177. 00:15:37
    Audio & SPU
  178. Урок 178. 00:09:42
    Converting WAV to VAG
  179. Урок 179. 00:20:53
    Playing a VAG Sound Effect
  180. Урок 180. 00:05:01
    Pitch & Sampling Frequency
  181. Урок 181. 00:01:36
    Exercise: Countdown Audio
  182. Урок 182. 00:04:54
    Countdown Sound Effects
  183. Урок 183. 00:09:32
    Background Music
  184. Урок 184. 00:06:23
    Recording an Audio Track
  185. Урок 185. 00:13:50
    Adding Audio Track to ISO
  186. Урок 186. 00:10:20
    Play Audio Track Implementation
  187. Урок 187. 00:04:30
    Play Background Audio Track
  188. Урок 188. 00:02:33
    Adding Scene Objects & Audio
  189. Урок 189. 00:09:58
    Conclusion & Next Steps